仅在页面滚动到顶部时显示标记

时间:2009-08-30 21:23:37

标签: jquery html css scroll

如何检测用户是否使用jQuery向下滚动?我想要一个固定的div只在浏览器在顶部300px之内时显示。当用户向下滚过300px标记时,它应该消失。当用户滚动回到顶部时,它应该隐藏。我该怎么做?

4 个答案:

答案 0 :(得分:2)

var docElem = $(document.documentElement)
docElem.scroll(function(e) {
    if(docElem.scrollTop() < 300) {
        whatever.show();
    } else {
        whatever.hide();
    }
});

您可能必须在不同的浏览器中使用不同的元素(如docElem),但这应该适用于Firefox。 (我没有测试过它)

编辑:更多jQuery

答案 1 :(得分:1)

将滚动侦听器附加到窗口: http://docs.jquery.com/Events/scroll

然后检查窗口的scrollTop: http://docs.jquery.com/CSS

当scrollTop小于300时,显示()div,否则隐藏()它。

答案 2 :(得分:1)

scrollTopscrollY看起来会让你开始使用IE和Firefox。不确定其他浏览器。

答案 3 :(得分:0)

只需检查滚动事件的窗口scrollTop位置,并将其与元素offsetTop位置进行比较:

$(window).scroll(function(e){ 
  $el = $('.myElement'); 
  if ($(this).scrollTop() > $el.offset().top){ 
    $el.hide(); 
  } else { 
    $el.show();
});

运行此示例here