如何创建具有下拉菜单的全长导航菜单

时间:2012-04-12 03:06:50

标签: javascript

我发现这个脚本非常有效,直到您将等式嵌套菜单引入方程式。 script

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

1 个答案:

答案 0 :(得分: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');
    });
}