请在下面找到我的代码:
<script type="text/jscript">
$(document).ready(function() {
$(window).resize(function(){
alert("Window resized");
});
});
</script>
每当调整窗口大小时,我都会运行此alert()两次。为什么?
最佳答案
它不只是触发两次,当窗口大小调整时它会触发任意次数。 Firefox 过去只会在调整大小“完成”时触发调整大小事件,但现在它会在调整大小期间触发多个调整大小事件,就像 Chrome 一贯所做的那样。
因此,您需要使调整大小事件回调尽可能小,因为它会经常触发。您可以通过执行以下操作来限制它:
var resizeTimer = undefined;
$(document).ready(function() {
$(window).resize(function() {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function () {
alert("Window resized");
}, 200);
});
});
如果在 200 毫秒内没有后续调整大小事件发生,这只会调用 alert
。
关于javascript - 窗口调整大小函数运行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30317882/