我发现这个脚本很好用,直到你在等式中引入一个嵌套菜单。 脚本
如何排除脚本应用于嵌套菜单?有没有办法给嵌套菜单一个类或 id 并将其从脚本中排除?
如果我正确理解您的问题,您可以将一个类添加到顶级菜单并排除所有不是:HTML:
<ul class="menu">
<li class="top-level">About Us</li>
<li class="top-level">Our Products</li>
<li class="top-level">FAQs</li>
<li class="top-level">Contact</li>
<li class="top-level">Login</li>
</ul>
Javascript:
function alignMenuItems(){
var totEltWidth = 0;
var menuWidth = $('ul.menu')[0].offsetWidth;
var availableWidth = 0;
var space = 0;
var elts = $('.menu li.top-level'); //<-
elts.each(function(inx, elt) {
// reset paddding to 0 to get correct offsetwidth
$(elt).css('padding-left', '0px');
$(elt).css('padding-right', '0px');
totEltWidth += elt.offsetWidth;
});
availableWidth = menuWidth - totEltWidth;
space = availableWidth/(elts.length);
elts.each(function(inx, elt) {
$(elt).css('padding-left', (space/2) + 'px');
$(elt).css('padding-right', (space/2) + 'px');
});
}