filter-name リスト項目の 1 つがクリックされると、その下に ul が表示され (.filter-options を持つすべての ul はデフォルトで非表示になります)、その他の ul リストが非表示になるように、次のように動作させようとしています。開いた。同じフィルター名リスト項目をもう一度クリックすると、その ul も非表示になります。また、すべての ul (.filter-options) が非表示になる他の場所をクリックすると素晴らしいでしょう。
<ul class="all-filters" id="narrow-by-list">
<li class="filter-name" id="Colour-filter">Colour
<ul class="filter-options" id="Colour-options-list">
<li>Black</li>
<li>Red</li>
<li>Green</li>
</ul>
<li>
<li class="filter-name" id="Material-filter">Material
<ul class="filter-options" id="Material-options-list">
<li>Glass</li>
<li>Wax</li>
<li>Resin</li>
</ul>
</li>
<li class="filter-name" id="Size-filter">Material
<ul class="filter-options" id="Size-options-list">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
</ul>
これが私の現在のjQueryで、何が機能するか...
jQuery.noConflict();
jQuery(document).ready(function(){
jQuery('#narrow-by-list .filter-name').click(function(event) {
jQuery('ul.filter-options').not('> ul', this).hide("fast");
jQuery('ul.filter-options', this).toggle("fast");
event.stopPropagation();
});
});
事前に助けてくれてありがとう!