Chrome 61机身不会滚动

时间:2017-07-12 15:27:03

标签: javascript google-chrome scroll

有谁知道为什么在body元素上分配scrollTop不再有效?

例如: document.body.scrollTop = 200

导致文档无法滚动。

原因:版本61中的Chrome finally made scrolling spec conformant

解决方案:使用scrollingElement

将示例更新为:

var scrollNode = document.scrollingElement ? 
                 document.scrollingElement : document.body;
scrollNode.scrollTop = 200;

2 个答案:

答案 0 :(得分:14)

此问题末尾描述的解决方案(检查document.scrollingElement或回退到document.body)将无法在IE上运行,因为它不支持document.scrollingElement({ {3}}),在IE中,scroll元素是HTML元素。

因此,我建议更好的解决办法就是这样;

var scrollNode = document.scrollingElement || document.documentElement;

哪个适用于所有现代浏览器。

作为旁注,有趣的是考虑scrollingElement属性似乎是为了使其成为唯一目的而添加的,以便我们需要检查/后备才能获得根滚动元素,但由于浏览器不兼容,我们仍需要检查/回退才能使用scrollingElement

网络开发不是很有趣吗?

答案 1 :(得分:0)

你好我有一个类似的问题,我结束了这个代码添加到文件就绪,它的工作原理。 另外,我对一些放错位置的工具提示有问题,这段代码修复了它。

RECEIVE

希望这可以帮到你。

谢谢