Javascript 检测浏览器滚动到顶部?

新手上路,请多包涵

我如何修改以下代码以检测滚动到首页。

 window.onscroll = function(ev) {
    if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
        alert(bottom);
    }
};

编辑:

我正在为 Windows Phone 8 BTW 开发 IE 10

原文由 PutraKg 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 406
2 个回答

设法弄清楚了。这是我的代码:

 window.onscroll = function() {

    var body = document.body; //IE 'quirks'
    var document = document.documentElement; //IE with doctype
    document = (document.clientHeight) ? document : body;

    if (document.scrollTop == 0) {
        alert("top");
    }
};

检查它是否正在运行:

 window.onscroll = function(){

    var B = document.body; //IE 'quirks'
    var D = document.documentElement; //IE with doctype
    D = (D.clientHeight)? D: B;

    if (D.scrollTop == 0){
        alert("top");
    }
};
 <br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>

此代码如何工作的解释:

window.onscroll 是将 滚动事件 分配给 window 元素的命令。

现在, 当元素的滚动条被滚动时, onscroll 事件被触发。 ,在这种情况下,元素将是 window 本身。

现在, function 将在触发事件时调用。

在函数中,我们将“document.body”获取为 en IE 是获取它的方式。之后,如果有 doctype,我们将获得 documentElement。

然后,这一行是在通知 document.clientHeight 时在文档或正文之间进行选择的行。如果它被告知,它将把文件放在可变文件上。如果没有,它会把身体本身。在此之后,它将检查 scrollTop 属性 以了解当前滚动位置是否在“顶部”

原文由 PutraKg 发布,翻译遵循 CC BY-SA 4.0 许可协议

window.scrollY 根据 MDN 不是跨浏览器的。在 IE 上,您必须检查 document.body.scrollTop ,因为 window 的任何属性都不会给您当前的滚动位置。实际上, document.body.scrollTop 是我最常使用的,因为根据我的经验,它确实有效。

原文由 bfavaretto 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题