首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DOM onresize事件

DOM onresize事件
EN

Stack Overflow用户
提问于 2009-09-30 19:55:04
回答 6查看 45.7K关注 0票数 23

如果我有这个

代码语言:javascript
复制
window.onresize = function() {
  alert('resized!!');
};

在整个调整大小的过程中,我的函数会被多次触发,但我希望捕获调整大小的完成情况。这是在IE里。

有什么想法吗?有各种各样的想法,但到目前为止还没有对我起作用(例如IE的假定window.onresizeend事件)。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-05-20 13:48:32

在这种情况下,我会强烈地支持的建议。在JavaScript中,我发现最简单、最有效和最可靠的方法是本·阿尔曼的jQuery插件,Throttle/De弹跳 (可以和jQuery一起使用,也可以不用jQuery-我知道.听起来很奇怪)。

通过删除,执行此操作的代码将非常简单,如:

代码语言:javascript
复制
$(window).resize($.debounce(1000, function() {
   // Handle your resize only once total, after a one second calm.
   ...
}));

希望能帮上忙。;)

票数 31
EN

Stack Overflow用户

发布于 2010-05-20 13:56:43

我总是使用这个,当我想做一些事情后,调整大小。对setTimeoutclearTimeout的调用对调整大小的速度没有任何明显的影响,因此这些调用多次被调用并不是一个问题。

代码语言:javascript
复制
var timeOut = null;
var func = function() { /* snip, onresize code here */};
window.onresize = function(){
   if(timeOut != null) clearTimeout(timeOut);
   timeOut = setTimeout(func, 100);
}
票数 9
EN

Stack Overflow用户

发布于 2009-09-30 20:34:42

这是,不是完美的,但它应该给您提供您需要的开始。

代码语言:javascript
复制
var initialX = null;
var initialY = null;
var lastResize = null;
var waiting = false;
var first = true;
var id = 0;

function updateResizeTime()
{
    if (initialX === event.clientX && initialY === event.clientY)
    {
        return;
    }

    initialX = event.clientX;
    initialY = event.clientY;

    if (first)
    {
        first = false;
        return;
    }

    lastResize = new Date();            
    if (!waiting && id == 0)
    {
        waiting = true;
        id = setInterval(checkForResizeEnd, 1000);
    }
}

function checkForResizeEnd()
{
    if ((new Date()).getTime() - lastResize.getTime() >= 1000)
    {
        waiting = false;
        clearInterval(id);
        id = 0;
        alert('hey!');
    }
}

window.onresize = function()
{
    updateResizeTime();
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1500312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档