我爱编程

判定元素是否滚动到底

2018-04-10  本文已影响18人  喵整点薯条

如果元素滚动到底,下面等式返回true,没有则返回false.

element.scrollHeight - element.scrollTop === element.clientHeight

Element.scrollHeight : 元素内容高度,包括由于溢出导致的视图中不可见内容。

scrollHeight.png

Element.scrollTop : 可以获取或设置一个元素的内容垂直滚动的像素数。

设置为任何整数值时,需注意:

scrollTop.png

Element.clientHeight: 元素内部的高度(单位像素),包含内边距,但不包括水平滚动条、边框和外边距。

clientHeight.png

延伸:
当判断元素不是滚到底,而是滚到某个元素的顶部时,例如让弹窗在到达底部导航时固定。


image.png

可以在element.scrollHeight - element.scrollTop === element.clientHeight这条公式变形。

element.scrollHeight - element.scrollTop - element.clientHeight <= element.clientHeight(底部导航)
让弹窗固定在底部导航上的这个位置
else
一直保持在视口的右下角

上面的知识点主要来自MDN。
https://developer.mozilla.org/zh-CN/docs/Web/API/Element/scrollHeight
https://developer.mozilla.org/zh-CN/docs/Web/API/Element/scrollTop
https://developer.mozilla.org/zh-CN/docs/Web/API/Element/clientHeight

上一篇 下一篇

猜你喜欢

热点阅读