我分配到超时我window.resize处理程序,以便我不会打电话给我相当大的量调整代码每次调整大小事件触发。我的代码看起来是这样的:

<script>
function init() {
  var hasTimedOut = false;
  var resizeHandler = function() {
    // do stuff
    return false;
  };

  window.onresize = function() {
    if (hasTimedOut !== false) {
      clearTimeout(hasTimedOut);
    }
    hasTimedOut = setTimeout(resizeHandler, 100); // 100 milliseconds
  };
}
</script>
<body onload="init();">
...
etc...

在IE7(可能还有其他版本)看来,当你做这个调整大小事件将不断火。更准确地,它将每超时持续时间之后触发 - 。100毫秒在此情况下

任何想法,为什么或如何制止这种行为?我真的不想叫我调整大小的代码为每resize事件,在一个调整大小火灾,但这是雪上加霜。

有帮助吗?

解决方案

在你//做的东西的代码,你的任何操作前,左,宽度,高度,边框,边缘或padding属性的?

您可能无意中被触发递归其无意中触发递归其无意触发递归...

其他提示

如何解决在IE resize事件

也,一看便知的 “scunliffe”“在你的...属性?

IE确实不断激发其resize事件而调整正在发生(你必须知道,因为你已经实现了一个修复超时)。

我可以复制你所看到的结果,使用你的代码,我的测试页上。

然而,问题消失,如果我增加超时为1000,而不是100.你可能想用不同的等待值来试试,看看你的作品。

下面是测试页我用:它具有很好的动态等待期间已经设置了你一起玩。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top