jQuery 滚动问题
每个人! 我试图在用户滚动经过另一个 div 时显示一个 div,并在用户到达后一个 div 的开头时再次隐藏它。 假设我们有两个 ID 为 #1 和 #2 的 div。现在,当用户滚动到 #1 的开头时,将显示 div#2。当用户再次返回#1 时,div#2 被隐藏。我怎样才能实现这个目标?
我正在使用这个:
jQuery(window).scroll(function(){
y = jQuery(window).scrollTop();
if(y>0){
jQuery("#2").slideDown();
}
if(y==0){
jQuery("#2").slideUp();
}
});
它非常适合在窗口上滚动。但这不起作用:
jQuery(window).scroll(function(){
y = jQuery("#1").scrollTop();
if(y>0){
jQuery("#2").slideDown();
}
if(y==0){
jQuery("#2").slideUp();
}
});
我做错了吗?非常感谢帮助。
everyone!
I am trying to show a div when user scrolls past another div and hide it again when user reaches the beginning of the latter div.
Let's say, we have two divs with IDs #1 and #2. Now, when the user scrolls to the beginning of #1, div#2 is shown. When, again, user comes back to #1, div#2 is hidden. How can I achieve this?
I was using this:
jQuery(window).scroll(function(){
y = jQuery(window).scrollTop();
if(y>0){
jQuery("#2").slideDown();
}
if(y==0){
jQuery("#2").slideUp();
}
});
which worked perfectly for scrolling on window. But this didn't work:
jQuery(window).scroll(function(){
y = jQuery("#1").scrollTop();
if(y>0){
jQuery("#2").slideDown();
}
if(y==0){
jQuery("#2").slideUp();
}
});
Am I doing it wrong? Help much appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
想想scrollTop 对于div #1 来说是什么。你说,如果
y > 0 。除非 div1 本身是可滚动的,否则它将始终为零。您真正想要的是窗口是否位于div1下方。因此我们使用
Think about what scrollTop is to div #1. You say, if
y > 0
. Unless div1 itself is scrollable, it will always be zero. What you really want is whether the window is below div1. So for that we use