简体   繁体   English

如何使用 Javascript 检测滚动超过页面开头?

[英]How do I detect scrolling past the start of the page using Javascript?

I have a navigation bar at the top of a HTML page that, when the client attempts to scroll past the top, should expand (using CSS and Javascript; I don't want it to be actually scrollable since I wanna give it an animation).我在 HTML 页面的顶部有一个导航栏,当客户端尝试滚动到顶部时,应该展开(使用 CSS 和 Javascript;我不希望它实际上是可滚动的,因为我想给它一个动画) . The Javascript I was using to try to detect this is:我用来尝试检测这个的 Javascript 是:

window.addEventListener('scroll', function(e) {
    // do whatever to confirm the page is scrolling
});

and while this works for regularly scrolling, it doesn't detect when the client tries to scroll past the boundaries of the page.虽然这适用于定期滚动,但它不会检测客户端何时尝试滚动超过页面边界。 I've also tried using if (window.scrollY <= 0) , but it goes off any time the client is at the top of the page (and doesn't detect whether the client is staying at the top or trying to scroll past it).我也试过使用if (window.scrollY <= 0) ,但它会在客户端位于页面顶部时关闭(并且不检测客户端是停留在顶部还是试图滚动过去它)。

Is there a way I can detect scrolling past the top of the page using Javascript, preferably without messing with the formatting too much?有没有一种方法可以检测到使用 Javascript 滚动超过页面顶部,最好不要过多地弄乱格式?

You can use 'wheel' event instead of the 'scroll' event.您可以使用 'wheel' 事件代替 'scroll' 事件。

https://developer.mozilla.org/en-US/docs/Web/API/Element/wheel_event https://developer.mozilla.org/en-US/docs/Web/API/Element/wheel_event

addEventListener('scroll', ...)

does this work for you?这对你有用吗?

 window.addEventListener('scroll', function(e) { console.log(window.scrollY); if (window.scrollY <= 0) { alert('TOP'); } });
 test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br> test<br> test<br>test<br> test<br>test<br> test<br> test<br> test<br> test<br> test<br> test<br> test<br>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM