我试图让以下行为,以便当单击过滤器名称列表项之一时,它会显示其下方的 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();
});
});
我在这里先向您的帮助表示感谢!