如何等待“调整大小”事件的“结束”,然后才执行操作?
2022-08-30 00:05:03
所以我目前使用这样的东西:
$(window).resize(function(){resizedw();});
但是,在调整大小过程继续进行时,这被调用了很多次。是否可以在事件结束时捕获事件?
所以我目前使用这样的东西:
$(window).resize(function(){resizedw();});
但是,在调整大小过程继续进行时,这被调用了很多次。是否可以在事件结束时捕获事件?
您可以使用和setTimeout()
clearTimeout()
function resizedw(){
// Haven't resized in 100ms!
}
var doit;
window.onresize = function(){
clearTimeout(doit);
doit = setTimeout(resizedw, 100);
};
jsfiddle 上的代码示例。
我很幸运地提出了以下建议: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);
}
});
function resizeend() {
if (new Date() - rtime < delta) {
setTimeout(resizeend, delta);
} else {
timeout = false;
alert('Done resizing');
}
}
感谢sime.vidas的代码!