2013-04-09 62 views
1

我有一個菜單,當我點擊一個按鈕時,div框出現爲相應的選項。它的偉大工程,但我似乎無法找出的唯一事情就是如何讓我放在框內的div展現出來,而不是被顯示爲display:hidden.Div標籤沒有出現在jQuery菜單中

我已經嘗試添加.css("display","block");它但只是使事情有點瘋狂。這是我現在坐的位置:FIDDLE

如果CSS或JS發生了任何變化,請讓我知道你改變了什麼以使它起作用?

我甚至在第一個和第二個框中添加了一些div以顯示它們沒有顯示出來。

+0

以上相同,我已經改變了內部div(大而粗體,黑色盒)改爲P標籤。現在他們工作...對不起,我不是一個JavaScript專家,所以我不能進一步幫助(因此,這是一個評論,而不是一個答案) – 2013-04-09 12:39:42

+1

謝謝@STT LCU的漂亮的解決方法。 – 2013-04-09 20:02:49

回答

1

花了我一段時間來弄清楚你在問什麼,你的css正在把一切都推向正確的位置,但我認爲這就是你要找的東西? http://jsfiddle.net/GbMRx/3/

$(function() { 
    $('.button').on('click', function() { 
     var el = $('#cnt' + this.id.replace('btn', '')); 
     $('#content-new div').not(el).animate({ 
      height: "toggle", 
      opacity: "toggle" 
     }, 100).hide(); 
     el.toggle(); 
     el.children("div").toggle(); 
    }); 
}); 

我剛剛切換了孩子們。

另一種選擇(可能是更好的選擇)是隻/切換第一級子隱藏... http://jsfiddle.net/GbMRx/4/

JS:

 $('#content-new > div').not(el).animate({... 

CSS:(除去從#content-new divdisplay:none,並將此)

#content-new>div { 
    display:none; 
} 

......我想到了,你可能只是想影響第一層次的孩子div在第一個地點?如果這是真的,這可能是你想要的...除了只是使所有#content-new div的爲#content-new>div ... http://jsfiddle.net/GbMRx/5/

+0

這個工程!所以這是使divs隱藏的CSS? – 2013-04-09 20:03:53

+1

是的,我相信你只是想讓你的'#content-new div' CSS只適用於一級孩子。這實際上適用於#content-new中任何級別的任何div,包括'grandchildren'...'#content-new> div'中的'>'表示它僅適用於一級孩子......您的jquery選擇器沒有'''也是這樣做的 – smerny 2013-04-09 20:50:49