【问题标题】:Javascript appendChild resets scroll of other page elements in IEJavascript appendChild 重置 IE 中其他页面元素的滚动
【发布时间】:2012-06-18 17:03:41
【问题描述】:

在 IE 中查看时页面上的 div 滚动出现问题,在 Chrome 或 FF 中没有问题 我在一个页面上有一个 div,它有一个滚动条(垂直),如果当我使用 appendChild 函数将它向下滚动到页面的正文或任何其他部分时,另一个 div 上的滚动将重置回顶部. 请您提供任何建议为什么会发生这种情况,也许与重绘/重排有关,但为什么只有 IE?

我注意到的另一件事可能是原因,它似乎只发生在位置固定的页面上。

【问题讨论】:

  • 您能否通过JS FiddleJS Bin 或类似网站的演示重现该问题?
  • 我无法重现您的问题jsfiddle.net/vasek7/hvqYH
  • 感谢您的回复。我无法以最简单的形式重新创建它。它只是随着页面变得越来越复杂而出现,我成功地在我的页面上使用了类似的东西。我将尝试添加使页面变得复杂的单个组件,直到我重新创建问题,抱歉浪费了任何时间,但我以为有人可能遇到过类似的事情,这可能会让我不那么头疼。
  • 抱歉.. IE 9 & 它不会发生在 IE 8(文档模式)中。这可能与 window.attachEvent("onscroll", DoSomething) 有关,因为当它在 IE 8 文档模式下不起作用时,问题就消失了。
  • 我花了一整天的时间将所有东西都隔离开来,测试每一步。我最终将问题归结为我页面上一个 div 上缺少的类声明。我给了它一个类名,但该类不存在。谢谢 IE,希望我现在能过上好日子。

标签: javascript internet-explorer appendchild


【解决方案1】:

在呈现时,Internet Explorer 9 在我的页面上的元素上发现了死类引用。当它这样做时,在这种情况下它会重新加载每个元素,而不会保存它已经向下滚动的距离。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 2019-08-11
    相关资源
    最近更新 更多