jQuery - 如何等待'resize'事件的'结束',然后才执行一个动作? [英] jQuery - how to wait for the 'end' of 'resize' event and only then perform an action?

查看:185
本文介绍了jQuery - 如何等待'resize'事件的'结束',然后才执行一个动作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  $(window).resize(function(){resizedw();} ); 

但是在调整过程进行时,这会被调用很多次。是否有可能在事件结束时捕获事件?

解决方案

我有幸得到以下建议: http://forum.jquery.com/topic/the-resizeend-event



以下是代码,因此您不必通过他的帖子的链接&来源:

  var rtime; 
var timeout = false;
var delta = 200;
$(window).resize(function(){
rtime = new Date();
if(timeout === false){
timeout = true;
setTimeout(resizeend,delta);
}
});
$ b $ function resizeend(){
if(new Date() - rtime setTimeout(resizeend,delta);
} else {
timeout = false;
alert('完成调整大小');


感谢sime.vidas的代码!


So I currently use something like:

$(window).resize(function(){resizedw();});

But this gets called many times while resizing process goes on. Is it possible to catch an event when it ends?

解决方案

I had luck with the following recommendation: http://forum.jquery.com/topic/the-resizeend-event

Here's the code so you don't have to dig through his post's link & source:

var rtime;
var timeout = false;
var delta = 200;
$(window).resize(function() {
    rtime = new Date();
    if (timeout === false) {
        timeout = true;
        setTimeout(resizeend, delta);
    }
});

function resizeend() {
    if (new Date() - rtime < delta) {
        setTimeout(resizeend, delta);
    } else {
        timeout = false;
        alert('Done resizing');
    }               
}

Thanks sime.vidas for the code!

这篇关于jQuery - 如何等待'resize'事件的'结束',然后才执行一个动作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆