Window调整大小事件在jQuery中触发两次

前端之家收集整理的这篇文章主要介绍了Window调整大小事件在jQuery中触发两次前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我运行了以下代码
  1. $(document).ready(function() {
  2.  
  3. var ivar = 0;
  4.  
  5. $(window).resize(function() {
  6. console.log('$(window).height() ' + $(window).height() + ' - ' + ++ivar);
  7. });
  8. });​

每当我调整大小时,我发现事件发生了两次,即计数器’ivar’增加两次.

任何人都可以告诉我在resize事件中发生的事情,使得计数器增加两倍

**编辑:
我正在通过双击窗口栏调整窗口大小.

谢谢

这是众所周知的问题.在某些浏览器中,resize被调用两次.我们可以创建计时器,这样只有当用户停止调整窗口大小时它才会调用我们的函数.
以下是您可以这样做的方法
  1. var globalTimer = null;
  2.  
  3. $(window).resize(function() {
  4. clearTimeout(globalTimer);
  5. globalTimer = setTimeout(doneResize,500);
  6. });
  7.  
  8. function doneResize(){
  9. console.log('$(window).height() ' + $(window).height() + ' - ' + ++ivar);
  10. }​

猜你在找的Windows相关文章