Javascript:检查页面是否位于顶部
是否有办法使用JavaScript检查页面是否处于Javascript:检查页面是否位于顶部,javascript,scroll,Javascript,Scroll,是否有办法使用JavaScript检查页面是否处于滚动(0,0)? 原因是我有一个完整的页面滑块,当页面不在原点时我需要暂停 这可能不一定是因为页面正在实时滚动,因为我有内部HTML链接,可以将页面直接加载到滚动点,而不实际滚动 因此,需要检查页面是否不在顶部,而不是页面是否已滚动。尝试以下操作: document.body.scrollTop === 0 我认为您可以使用jQuery$(window.scrollTop()获得该职位 您可以检查(窗口垂直滚动的像素数)是否等于0。如果要检查窗
滚动(0,0)
?
原因是我有一个完整的页面滑块,当页面不在原点时我需要暂停
这可能不一定是因为页面正在实时滚动,因为我有内部HTML链接,可以将页面直接加载到滚动点,而不实际滚动
因此,需要检查页面是否不在顶部,而不是页面是否已滚动。尝试以下操作:
document.body.scrollTop === 0
我认为您可以使用jQuery$(window.scrollTop()获得该职位 您可以检查(窗口垂直滚动的像素数)是否等于
0
。如果要检查窗口是否已向左滚动,可以检查(窗口水平滚动的像素数)是否等于0
。如果将两者结合使用,将确保窗口处于(0,0)位置
if(window.scrollY==0){
//user scrolled to the top of the page
}
if(window.scrollX==0){
//user scrolled to the leftmost part of the page
}
if(window.scrollY==0&&window.scrollX==0){
//user scrolled to the leftmost part of the top of the page—i.e., they are at position (0, 0)
}
演示:
var goToTop=document.querySelector(“#backToTop”);
goToTop.addEventListener(“单击”,函数(e){
滚动({top:0,left:0,行为:'smooth'});
//平滑地滚动回页面顶部
});
addEventListener(“滚动”,函数(){
if(window.scrollY==0){
//用户位于页面顶部;无需显示返回顶部按钮
gotop.style.display=“”;
}否则{
goToTop.style.display=“块”;
}
});代码>
body,html{height:3000px;position:relative;margin:0}footer{position:absolute;width:100%;bottom:0;left:0;right:0;背景色:#1e90ff;text align:center}backToTop{position fixed;right:0;bottom:0;display:none;z-index:1}header{position position:绝对;width:100%;top:0;top:0;left:0;right:0;背景色:351e90ff;text align:code}>
标题
回到顶端
页脚
2019年更新答案
document.body.scrollTop已弃用,在Chrome中根本无法使用。解决这一问题的最佳方法是简单地研究三种可能的跨浏览器解决方案
!window.pageYOffset
这三种类型中的一种应该适用于所有浏览器类型。如果该值等于0,则您的视图将显示在视口的顶部 这很有效-这是我使用的标准方法,只是建议使用===而不是==。正是因为语义:)严格比较而不是类型转换可以走很长的路,而且看起来更性感;)@geostima严格相等是不必要的,因为window.scrollX
和window.scrollY
只能返回数值;因此,即使使用if(!window.scrollY)console.log('scrolled to top')代码>会很好,尽管可读性较差。“document.body.scrollTop==0”将始终返回true。我相信在Chrome中?其他浏览器我不这么认为?