我需要动态调整下拉菜单主导航栏的大小,以便可以调整大小以适应导航菜单项名称中不同长度的字符。下面是我到目前为止的代码:

 $(document).ready(function(){
            var wNav = $("#navigation").outerWidth();
            var wLiTotal = 0;

            $("#navigation>ul>li").each(function(){
                wLiTotal += $(this).outerWidth();
                if((wLiTotal > wNav)||(wLiTotal < wNav)){
                 wNav = wLiTotal +3;
             };
          });
       });


问题是,即使我得到了所有li的总宽度,由于某种原因,它也不会将wNav重置为该宽度,我不确定为什么。在此先感谢您的协助。

最佳答案

$(document).ready(function() {
    var wNav = $("#navigation").outerWidth();
    var wLiTotal = 0;

    $("#navigation>ul>li").each(function() {
        wLiTotal += $(this).outerWidth();
        if ((wLiTotal > wNav) || (wLiTotal < wNav)) {
            wNav += wLiTotal + 3;  // you've increase wNav with its previous value
        };
    });
    $("#navigation").width(wNav); // set new wNav as new width
});

关于javascript - jQuery不会根据li的总宽度重置导航元素的宽度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11749800/

10-11 13:53