JavaScript的浏览器检测滚动到顶部?(Javascript detect browser s

2019-09-02 04:22发布

我如何修改下面的代码来检测滚动到页面顶部来代替。

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

编辑:

我工作的IE 10的Windows Phone 8的BTW

Answer 1:

好不容易才弄明白。 这里是我的代码

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");
    }        
};

DEMO



Answer 2:

window.scrollY不是跨浏览器根据MDN 。 在IE <9,你必须检查document.body.scrollTop ,因为没有财产window会给你当前滚动位置。 其实, document.body.scrollTop是我最常使用的,因为在我的经验它只是工作。



Answer 3:

只有JS做到这一点的最好办法是下面的示例中添加事件侦听器:

var el = document.getElementById('PUT_YOUR_TOP_ELEMENT_ID_HERE');
el.addEventListener('scroll', function(event) {
    if (event.target.scrollTop === 0) {
        alert('Top of page detected');
    }
}, false);


Answer 4:

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

工作对我来说

https://www.w3schools.com/jsref/event_onscroll.asp



Answer 5:

它很简单:

$(window).on('scroll', function () {
  let scrollAmount = window.scrollY;
  console.clear()
  console.log(scrollAmount)
});


文章来源: Javascript detect browser scroll to the top?