2

我发现这个脚本很好用,直到你在等式中引入一个嵌套菜单。 脚本

如何排除脚本应用于嵌套菜单?有没有办法给嵌套菜单一个类或 id 并将其从脚本中排除?

4

1 回答 1

0

如果我正确理解您的问题,您可以将一个类添加到顶级菜单并排除所有不是: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');
    });
}
于 2012-04-12T03:12:10.047 回答