代码之家  ›  专栏  ›  技术社区  ›  munch

Jquery.height()页面重新加载时结果不一致

  •  0
  • munch  · 技术社区  · 16 年前

    我想调整容器div的边距和列表中链接的填充,使最后一行项目尽可能靠近其旁边可变大小图像的底部。该函数的工作原理与我第一次加载页面时的预期完全一致。

    但是,如果页面被重新加载,.height()和.exterHeight()函数返回的值与它们最初的值不同。它们还根据浏览器返回不同的值,即使高度在外部样式表中明确规定。

    $(document).ready(function(){
    
    var headingSize = 2*($('div.title').outerHeight(true) + $('div.hint').outerHeight(true));
    var adjHeight = $('#image img').height() + 70;
    var rowCount = $('div#options ul li').length;
    var rowHeight = $('div#options ul li a').height();
    
    var padding = (((adjHeight - headingSize) / rowCount) - rowHeight)/2;
    
    if(padding < 4){
     padding = 4;
    }
    
    var margin = (rowHeight + 2*padding)/2;
    
    if(margin < 10){
     margin = 10;
    }
    
    $('div.options').css({'marginTop': margin});
    $('div#options ul li a').css({'paddingTop' : padding, 'paddingBottom' : padding});  
    
    });
    

    谢谢!

    -岩藻

    1 回复  |  直到 16 年前
        1
  •  1
  •   munch    16 年前

    删除了包含的文件,一切正常。