我使用相同的类名切换li。当一个li被点击打开时,另一个li就会向上滑动。
每个li的旁边都有一个加号,当单击时,通过将类fa-plus切换为fa-+来展开安莉,加号就变成了减号。
但是,当打开的li因为单击了另一个li而自动向上滑动时,该图标将保留为减号,而不会改回为加号。
这是我的jsfiddle:http://jsfiddle.net/a3mn8yoo/
<script>
$(function () {
$(".has_submenu a").click(function() {
$(".has_submenu a").not(this).next().slideUp();
$(this).closest(".has_submenu").find(".refinement-submenu").slideToggle();
$(this).closest(".has_submenu").find(".fa-plus, .fa-minus").toggleClass('fa-plus fa-minus');
return false;
});
});
</script>
<style>
.has_submenu .refinement-submenu {display:none;}
</style>
<ul>
<li class="has_submenu">
<a href="#">Refine by 1 <i class="fa fa-plus"></i></a>
<ul class="refinement-submenu">
<li><a href="">Silverstone</a></li>
<li><a href="">Prestwold Hall</a></li>
</ul>
</li>
<li class="has_submenu">
<a href="#">Refine by 2 <i class="fa fa-plus"></i></a>
<ul class="refinement-submenu">
<li><a href="">£25</a></li>
<li><a href="">£50</a></li>
</ul>
</li>
<li class="has_submenu">
<a href="#">Refine by 3 <i class="fa fa-plus"></i></a>
<ul class="refinement-submenu">
<li><a href="">London</a></li>
<li><a href="">South West</a></li>
</ul>
</li>
</ul>有什么想法吗?
发布于 2014-10-31 06:12:48
你的代码已经包含了一个想法,用类似于你slideUp其他div的方式,你可以切换"-“
$(".has_submenu a").not(this).find(" .fa-minus").toggleClass('fa-plus fa-minus');http://jsfiddle.net/a3mn8yoo/1/
发布于 2014-10-31 06:27:20
你有:
$(this).closest(".has_submenu").find(".fa-plus, .fa-minus");我补充道:
$(this).closest(".has_submenu").find(".fa-plus, .fa-minus").end().siblings().find('.fa-minus').toggleClass('fa-plus fa-minus');试试这个更新过的小提琴:
http://jsfiddle.net/a3mn8yoo/6/
https://stackoverflow.com/questions/26664047
复制相似问题