有谁知道为什么在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;
答案 0 :(得分:14)
此问题末尾描述的解决方案(检查document.scrollingElement
或回退到document.body
)将无法在IE上运行,因为它不支持document.scrollingElement
({ {3}}),在IE中,scroll元素是HTML元素。
因此,我建议更好的解决办法就是这样;
var scrollNode = document.scrollingElement || document.documentElement;
哪个适用于所有现代浏览器。
作为旁注,有趣的是考虑scrollingElement
属性似乎是为了使其成为唯一目的而添加的,以便我们不需要检查/后备才能获得根滚动元素,但由于浏览器不兼容,我们仍需要检查/回退才能使用scrollingElement
。
网络开发不是很有趣吗?
答案 1 :(得分:0)
你好我有一个类似的问题,我结束了这个代码添加到文件就绪,它的工作原理。 另外,我对一些放错位置的工具提示有问题,这段代码修复了它。
RECEIVE
希望这可以帮到你。
谢谢