最近在写Vue中的微信公众号程序遇到个问题,div获取scrollTop始终是0

网上查询了下,大家发的都是兼容性的问题的处理......,关于DTD兼容的,这里我都试过,发现并没有用,到底问题是出现在哪里呢?后面发现dom元素选错了 ,,我有个goodList组件  在index页面的index-content盒子中渲染,先前我一直取用goodList组件的scrollTop,所以一直是零。后面查询解释是

scrollTop 值是这个元素的顶部到它的最顶部可见内容(的顶部)的距离的度量,当一个元素的内容没有产生垂直方向的滚动条,那么它的 scrollTop 值为0。

查询mdn的解释是上诉内容,关键在于“当一个元素的内容没有产生垂直方向的滚动条,那么它的 scrollTop 值为0”。如果一个scrollTop要有值,他含有的内容必须要产生滚动。

只能怪自己没掌握好,遇到这个坑。前提是排除DTD文档模式的影响。即说加了!DOCTYPE的html文档。这里在说下DTD影响解决方案:

let top = document.documentElement.scrollTop || document.body.scrollTop || window.pageYOffset

 

Logo

前往低代码交流专区

更多推荐