高度未设置,除非我“检查页面”

时间:2012-01-31 14:04:19

标签: jquery html resize height

出于某种原因,当页面首次加载时以及内容调整大小时,如果我在chrome中执行“inspect element”,它将只运行“matchColumns”。似乎无法理解为什么会这样做,而不是每次内容更改时都会改变。 Here是我正在使用的网站。提前谢谢。

var $j = jQuery.noConflict();

$j(document).ready(function() {
    MC.general.init();
    MC.homeSlider.init();
    MC.homeMap.init();
    $j(window).resize(function() {
      $j('#layer-base, #layer-top, .exposed, ').matchColumns();
    }); 
});

$j.fn.matchColumns = function(){
    var height_tar = $j(document).height();
    $j(this).css({"height": (height_tar ) + "px"});
}; // matchColumns

1 个答案:

答案 0 :(得分:1)

检查打开Chrome浏览器中的Web Inspector或Firefox中的Firebug,它占用视口的某些部分并触发窗口调整大小事件(即使窗口没有改变大小,就操作系统而言) ,从你的文件的角度来看它。)

除了调整大小调用的调用之外,我还会立即调用matchColumns。所以喜欢:

$j(window).resize(function() {
  $j('#layer-base, #layer-top, .exposed, ').matchColumns();
}); 
$j('#layer-base, #layer-top, .exposed, ').matchColumns();

或者更好的是,将该行分解为函数。