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

Kei*_*gan 1 html jquery resize window width

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

jQuery(document).ready(function()
{
    var body_size = jQuery('section').width();
    console.log(body_size);
});
Run Code Online (Sandbox Code Playgroud)

如果我重新调整浏览器的大小,我必须重新加载页面以找出这个div的新大小.

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

Poi*_*nty 7

您可以处理"调整大小"事件.被警告,引发该事件非常频繁,所以这是一个好主意,没有做任何DOM操作,同时在处理程序,或尽可能少.解决问题的一种方法是使用计时器:

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

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