Bjo*_*orn 62 javascript scroll scrollbar
如何在不使用jQuery或任何其他JavaScript库的情况下确定具有垂直滚动条的div是否一直滚动到底部?
我的问题不是如何滚动到底部.我知道该怎么做.我想确定div是否已经滚动到底部.
这不起作用:
if (objDiv.scrollTop == objDiv.scrollHeight)
Run Code Online (Sandbox Code Playgroud)
Jam*_*ies 78
你很近用scrollTop == scrollHeight.
scrollTop 指的是滚动位置的顶部 scrollHeight - offsetHeight
你的if语句应该是这样的(不要忘记使用三等于):
if( obj.scrollTop === (obj.scrollHeight - obj.offsetHeight))
{
}
Run Code Online (Sandbox Code Playgroud)
编辑:纠正了我的回答,完全错了
如果元素位于其滚动的末尾,则返回true,否则返回false.
element.scrollHeight - element.scrollTop === element.clientHeight
Run Code Online (Sandbox Code Playgroud)
这次聚会的时间不多,但上述答案似乎都没有特别好......
为了适应所有可能的情况,您需要对计算出的滚动位置进行舍入:
Math.ceil(element.scrollHeight - element.scrollTop) === element.clientHeight
Run Code Online (Sandbox Code Playgroud)
小智 6
为了在考虑诸如边框,水平滚动条和/或浮动像素数等可能性之类的事情时获得正确的结果,您应该使用......
el.scrollHeight - el.scrollTop - el.clientHeight < 1
Run Code Online (Sandbox Code Playgroud)
注意:如果要获得正确的结果,必须使用clientHeight而不是offsetHeight.仅当el没有边框或水平滚动条时,offsetHeight才会给出正确的结果
| 归档时间: |
|
| 查看次数: |
37659 次 |
| 最近记录: |