我有许多嵌套列表,并且一些jQuery会在单击父标题时显示隐藏它们。
IT工作正常,但行为略有错误。如果嵌套列表可见,并且单击父标头,则我希望该嵌套列表被隐藏。目前,它会执行此操作,但之后会立即显示嵌套列表。
请查看此jsFiddle以获取工作代码:
http://www.jsfiddle.net/4kG2b/
最佳答案
如果同级<ul>
当前处于隐藏状态(可以有效地使其切换),则可以触发显示,如下所示:
$nestList.filter(":hidden").show("fast", function() {
$(this).closest("li").removeClass("closed").addClass("open");
});
You can test it out here。总的来说,您可以将其缩小并获得相同的效果,如下所示:
$("#expander ul").hide();
$("#expander h4").live("click", function() {
$(this).siblings("ul").toggle("fast", function(){
$(this).closest("li").toggleClass("open closed");
}).closest("li").siblings(".open").toggleClass("open closed")
.children("ul").hide("fast");
$(".scroll").jScrollPane();
});
You can try that version out here。
关于jquery - jQuery切换嵌套列表行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3987444/