我正在寻找这样的效果:
$(window).scroll(function(event){
if (/* magic code*/ ){
// upscroll code
} else {
// downscroll code
}
});
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
可能重复:
区分jquery中的向上/向下滚动?
是否可以检测用户是向下滚动还是向上滚动?
示例:
$(window).scroll(function(){
// IF USER SCROLL DOWN
DO ACTION
// IF USER SCROLL UP
DO ANOTHER ACTION
});
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在编写一个用户第一次滚动的页面,它实际上并没有向下滚动页面,而是添加了一个带有转换的类.我想检测用户何时向下滚动,因为如果他向上滚动,我希望它能做其他事情.我发现的所有方法都是基于定义当前正文ScrollTop,然后在页面滚动后与body scrollTop进行比较,定义方向,但由于页面实际上没有滚动,所以body scrollTop()不会改变.
animationIsDone = false;
function preventScroll(e) {
e.preventDefault();
e.stopPropagation();
}
$('body').on('mousewheel', function(e) {
if (animationIsDone === false) {
$("#main-header").removeClass("yellow-overlay").addClass("yellow-overlay-darker");
$(".site-info").first().addClass("is-description-visible");
preventScroll(e);
setTimeout(function() {
animationIsDone = true;
}, 1000);
}
});
Run Code Online (Sandbox Code Playgroud)
这就是我所拥有的,但是这样,我滚动它的方向并不重要,触发事件
我想进行一些无限滚动以摆脱网站上的分页。但是,我发现此滚动功能似乎有些古怪。向上滚动似乎会触发。有没有一种方法只能在向下滚动时触发滚动事件?另外,似乎没有滚动条,就根本不会触发,就像跟踪页面的运动一样,而不是按下鼠标滚轮,箭头或空格键。任何好的滚动检测功能?
$(window).scroll(function () {
if ($(window).scrollTop() >= $(document).height() - $(window).height() - 10) {
//infinite scrolling is the idea
}
});
Run Code Online (Sandbox Code Playgroud)
谢谢!