【问题标题】:How to know when element has been scrolled to the bottom如何知道元素何时滚动到底部
【发布时间】:2012-07-26 23:57:07
【问题描述】:

根据Stackoverflow的第一个问题的答案,可以知道element.innerHeight+element.scrollTop大于等于element.offsetHeight。不应该是element.innerHeight+element.scrollTop大于等于element.scrollHeight吗? offsetHeight在计算可见高度的时候只包含了padding,这里我们要判断的是滚动高度加上可见高度是否等于总高度,这不就是scrollHeight给出的总高度吗?

【问题讨论】:

    标签: javascript uiscrollview scrolltop


    【解决方案1】:

    一般来说,是的。然而,这个问题是关于页面的,<body> 元素实际上并没有滚动;视口可以。

    试试看:确保页面滚动,然后打开控制台:

    > document.body.offsetHeight === document.body.scrollHeight
    true
    

    【讨论】:

    • 哦,好的。那么该代码肯定不适用于普通页面元素吗?
    • 知道浏览器支持scrollTopscrollHeight 属性吗?他们在 IE 5+ 中工作吗?我用谷歌搜索了很多,找不到方便的答案!
    • @Cupidvogel:不,我也找不到任何信息,而且我没有 IE6 或更低版本可以测试。但它适用于任何相当现代的浏览器。
    • 是的,我知道这可以与 Javascript 一起使用,想知道如何在没有 Javascript 的情况下使其工作。当然必须有一个解决方案(这是一个相当大的错误,没有 Javascript 就无法设计固定高度的元素!),不知何故它正在躲避 Google!
    • @Cupidvogel:固定高度的元素是什么意思?我以为这个问题是关于检测用户何时将元素滚动到底部...
    猜你喜欢
    • 2017-06-26
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 2021-02-22
    • 2015-03-06
    • 2018-09-15
    • 1970-01-01
    相关资源
    最近更新 更多