在jQuery中是否有垂直滚动事件

Mic*_*oso 11 jquery scroll

我有一个与scroll()事件绑定的函数,但事实是我希望只在垂直滚动的情况下触发该函数(我也有一些水平滚动).

我没有在jQuery的文档中看到这种可能性,可能有这样的伎俩吗?

use*_*716 11

没有特定事件,但您可以测试.scrollLeft()位置以查看它是否已从先前存储的位置移动.

像这样的东西:

var prevLeft = 0;
$(document).scroll( function(evt) {
    var currentLeft = $(this).scrollLeft();
    if(prevLeft != currentLeft) {
        prevLeft = currentLeft;
        console.log("I scrolled horizontally.");
    }
});
Run Code Online (Sandbox Code Playgroud)


asu*_*man 5

您还可以 .scrollTop用来制作自定义垂直滚动事件。

var prevTop = 0;
$(document).scroll( function(evt) {
    var currentTop = $(this).scrollTop();
    if(prevTop !== currentTop) {
        prevTop = currentTop;
        console.log("I scrolled vertically.");
    }
});
Run Code Online (Sandbox Code Playgroud)

jQuery .scrollTop()