単純なjQueryスライドダウンナビゲーションを作成しようとしていますが、ナビゲーションのオンとオフの切り替えに少し問題があります。
私は次のようにナビゲーションを持っています。
<ul id="nav">
<li>home</li>
<li class="parent">Clothing
<ul>
<li>child</li>
<li>child</li>
<li>child</li>
</ul>
</li>
<li class="parent">shoes
<ul>
<li>child</li>
<li>child</li>
<li>child
<ul>
<li>child child</li>
</ul>
</li>
</ul>
</li>
次のjqueryで
var $j = jQuery.noConflict();
$j(document).ready(function() {
$j('#nav').children('.parent').click(function(e){
e.preventDefault();
$this = $j(this);
$j('#nav').children('.parent').children('ul').stop().slideUp('slow', function(){
$this.children('ul').stop().slideToggle('slow');
});
});
});
これで、サブナビゲーションをクリックするとスライドアウトしますが、もう一度クリックしても何も起こらないので、上にスライドする必要があります。別のナビゲーションをクリックすると、展開されたナビゲーション(存在する場合)を上にスライドさせてから、新しいナビゲーションを下にスライドさせる必要がありますが、正しく機能したくないだけです。バグがあり、両方が同時に表示され、表示されない場合があります。