当窗口调整大小时获取div的实时宽度?

时间:2013-01-22 21:22:07

标签: jquery html resize window width

假设我有一个部分,它的宽度是1181(在控制台中输出),我使用以下代码找出它的宽度:

jQuery(document).ready(function()
{
    var body_size = jQuery('section').width();
    console.log(body_size);
});

如果我重新调整浏览器的大小,我必须重新加载页面才能找到这个div的新大小。

在重新调整浏览器大小时,有没有办法找出尺寸?

1 个答案:

答案 0 :(得分:7)

您可以处理“调整大小”事件。请注意,事件经常被激活非常,所以最好不要在处理程序中进行任何DOM操作,或尽可能少。解决问题的一种方法是使用计时器:

var resizeTimer;
$(window).resize(function() {
  clearTimeout(resizeTimer);
  resizeTimer = setTimeout(function() {
    var body_size = $('section').width();
    // ...
    // do your work here
    // ...
  }, 200);
});

设置一个计时器,这样在用户停止调整大小(或暂停一点)之后至少200毫秒才能实际完成任何工作。