【发布时间】:2012-05-08 14:45:11
【问题描述】:
我用 jQuery 制作了一个脚本。该脚本将 li 列表拆分为更多 ul 列表。当列表超过 10 li 项时,必须将列表拆分为更多 ul。 我已经在这篇文章中制作了脚本。
但是脚本不工作。我在这里做错了什么。 该脚本用于导航中的子菜单。当导航li项大于4时,li项的ul必须拆分成两个ul。我该如何修复这个脚本。谢谢!
submenu();
function submenu() {
$(".submenu").each(function () {
if($("li", this).length > 4){
$(this).closest(".submenu").addClass("width-2")
var submenu = $(this).closest(".submenu");
var $bigList = $(this), group;
while((group = $bigList.find('li:lt(8)').remove()).length) {
$('<ul/>').append(group).appendTo(submenu);
}
}
if($("li", this).length > 10){
$(this).closest(".submenu").addClass("width-3")
}
});
}
【问题讨论】:
-
你可以发布标记吗?
-
如果您可以在jsFiddle.net 中进行设置,将会非常有帮助
-
我已经制作了这个 JSFiddle。 jsfiddle.net/xtFPy/1 当您将鼠标悬停在项目上时。您会看到子菜单。当 li 项大于 4 时。子菜单的宽度设置为 320 像素。但问题是。当 li 项大于 4 时,必须将 li 项拆分为两个 ul。而不是 1。
-
什么是
group,似乎while循环永远不会结束? -
当我运行脚本时。当我的浏览器停止时,while 循环正在中断。
标签: javascript jquery split while-loop each