私は順序付けられていないリストを持っています。jQuery SlideDown別の `ul`をクリックした場合のみ
<div class="categories-list">
<ul class="display_categories">
<li>
<a class="title"><span><b>1</b></span></a>
<ul class="display_subcategories">
<li><a>22</a></li>
<li><a>22</a></li>
</ul>
</li>
<li>
<a class="title"><span><b>1</b></span></a>
<ul class="display_subcategories">
<li><a>22</a></li>
<li><a>22</a></li>
</ul>
</li>
</ul>
</div>
私は、ユーザーが任意のカテゴリをクリックすると、そのサブカテゴリーがslidedownすべきと同じカテゴリをクリックされるたびに、何が起こるべきではないことを望みます。ここに私のjQueryのは
$('.display_subcategories').hide()
$('.title').click(function(){
$('.display_categories').children().children('ul').slideUp('fast');
$(this).next().slideDown('fast');
})
だが、何が起こるかは、すでにslideDownカテゴリをクリックすると、それは再びスライドしてから滑り落ちるということです。
$('.display_subcategories').hide()
$('.title').click(function() {
var $submenu = $(this).next().slideDown('fast');
$('.display_categories').find('> li > ul').not($submenu).slideUp('fast');
});
も注意の使用:ここで
は、あなたがこのように、現在のすべてを除いてslideUp()
にnot()
を使用し、その後、現在のサブメニューをslideDown
できjsFiddleリンク
お返事ありがとうございます。以前の回答と現在の回答との違いは何ですか? – PythonEnthusiast
セレクタの使用量が少なくて済み、効率が良いです。 –
ありがとうございます。両方のソリューションを投稿するよう依頼してください。 :) – PythonEnthusiast