我运行了以下代码
- $(document).ready(function() {
- var ivar = 0;
- $(window).resize(function() {
- console.log('$(window).height() ' + $(window).height() + ' - ' + ++ivar);
- });
- });
每当我调整大小时,我发现事件发生了两次,即计数器’ivar’增加两次.
任何人都可以告诉我在resize事件中发生的事情,使得计数器增加两倍
**编辑:
我正在通过双击窗口栏调整窗口大小.
谢谢
这是众所周知的问题.在某些浏览器中,resize被调用两次.我们可以创建计时器,这样只有当用户停止调整窗口大小时它才会调用我们的函数.
以下是您可以这样做的方法:
以下是您可以这样做的方法:
- var globalTimer = null;
- $(window).resize(function() {
- clearTimeout(globalTimer);
- globalTimer = setTimeout(doneResize,500);
- });
- function doneResize(){
- console.log('$(window).height() ' + $(window).height() + ' - ' + ++ivar);
- }