如何检测用户是否使用jQuery向下滚动?我想要一个固定的div只在浏览器在顶部300px之内时显示。当用户向下滚过300px标记时,它应该消失。当用户滚动回到顶部时,它应该隐藏。我该怎么做?
答案 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)
答案 3 :(得分:0)
只需检查滚动事件的窗口scrollTop位置,并将其与元素offsetTop位置进行比较:
$(window).scroll(function(e){
$el = $('.myElement');
if ($(this).scrollTop() > $el.offset().top){
$el.hide();
} else {
$el.show();
});
运行此示例here。