jquery - 在窗口调整大小时获取 div 的实时宽度?

标签 jquery html resize window width

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

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

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

有没有办法在我调整浏览器大小时找出大小?

最佳答案

您可以处理“resize”事件。请注意,该事件非常 被触发,因此最好不要在处理程序中或尽可能少地进行任何 DOM 操作。处理该问题的一种方法是使用计时器:

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

这会设置一个计时器,这样您在用户停止调整大小(或暂停一下)后至少 200 毫秒后才会实际执行任何操作。

关于jquery - 在窗口调整大小时获取 div 的实时宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14468245/

相关文章:

javascript - 显示来自两个连续相关数据库表的 jqGrid 数据

javascript - 如何在父窗口调整大小时调整 iframe 的大小

silverlight - 需要知道用户何时调整窗口大小

Javascript:更改 <h2> 标题颜色 onmouseover()

Java2D 和图像创建

jquery - 获取排除确定元素的元素索引

javascript - jQuery 指令中的元素高度错误

Jquery - 加载具有随机边距/位置的 div

HTML5 元标记和 W3 验证器

html - 如何使用 jquery 从 Rotten Tomatoes 检索搜索列表?