windows.onload vs调整不同宽度

时间:2014-08-22 11:24:23

标签: javascript jquery html css

我需要根据窗口宽度调整宽度和高度的几个元素。所以我正在使用

window.onload = function() {
    slideSizeUpdate();
};
$(window).resize(slideSizeUpdate);

调用我的功能。

窗口调整大小后,一切都正确显示 - 但不是onload。我猜这与窗口宽度值有关。

所以,我打印了窗口的宽度值并识别出 - onload - 我的窗口宽度有一个值'x'当我调整为1px左右或右值时'x'的窗口宽度增加/减少+ / - 18px

我认为这会导致我网站上的问题。有谁知道这个的原因,并有任何人解决如何解决它?那太好了!

修改

不是onload根本不起作用。它只是在读出窗口宽度时似乎得到的错误值。

2 个答案:

答案 0 :(得分:2)

你可以这样做:

$(window).on('load resize',function(){
   slideSizeUpdate();
}).resize(); // trigger resize when page is loaded

答案 1 :(得分:1)

考虑这种情况:

  • 部分内容通过CSS隐藏。生成的页面很短,不需要水平滚动条。
  • 您计算load事件的窗口宽度,此时滚动条不存在。
  • 您取消隐藏内容,现在页面很高,需要水平滚动条。
  • 窗口的宽度减少了17px(通常的滚动条宽度)而没有注意到。

如果是这种情况,那么一种解决方案是使用CSS强制窗口水平滚动条。您可以使用以下内容(尽管我建议在StackOverflow上搜索更多内容):

html {
    overflow-y: scroll; 
}