我有一个UL列表:
<ul>
<li>menu1</li>
<li>menu2</li>
<li>menu3</li>
<li>menu4</li>
<li>menu5</li>
</ul>
我想将此列表用作动画JQuery菜单。以这样的方式设置:如果用户单击menu3,它将成为列表中的第一个项目,因为menu1和menu2会附加到结尾。
所以在点击menu3后,ul看起来像这样:
<ul>
<li>menu3</li>
<li>menu4</li>
<li>menu5</li>
<li>menu1</li>
<li>menu2</li>
</ul>
非常感谢任何指导或建议。
答案 0 :(得分:5)
你可以这样做:
$("li").click(function() {
var prev = $(this).prevAll();
$.unique(prev).slideUp(function() {
$(this).appendTo(this.parentNode).slideDown();
});
});
Give it a try here,$.unique()
调用是因为来自.prevAll()
的元素的顺序相反...并且为了追加到最后,我们希望它们按文档顺序排列。
答案 1 :(得分:0)
您可能需要查看此the solution by No Surprises中的SO question。看起来OP正在寻找你想要做的事情。