jQuery中是否存在垂直滚动事件
我有一个与jQuery中是否存在垂直滚动事件,jquery,scroll,Jquery,Scroll,我有一个与scroll()event绑定的函数,但事实是我希望该函数仅在垂直滚动的情况下触发(我也有一些水平滚动) 我在jQuery的文档中没有看到这种可能性,可能有这样做的技巧吗?没有特定的事件,但是您可以测试.scrollLeft()位置,查看它是否已从以前存储的位置移动 大概是这样的: var prevLeft = 0; $(document).scroll( function(evt) { var currentLeft = $(this).scrollLeft(); i
scroll()
event绑定的函数,但事实是我希望该函数仅在垂直滚动的情况下触发(我也有一些水平滚动)
我在jQuery的文档中没有看到这种可能性,可能有这样做的技巧吗?没有特定的事件,但是您可以测试
.scrollLeft()
位置,查看它是否已从以前存储的位置移动
大概是这样的:
var prevLeft = 0;
$(document).scroll( function(evt) {
var currentLeft = $(this).scrollLeft();
if(prevLeft != currentLeft) {
prevLeft = currentLeft;
console.log("I scrolled horizontally.");
}
});
var prevLeft = 0;
$(document).scroll( function(evt) {
var currentLeft = $(this).scrollLeft();
if(prevLeft === currentLeft) {
console.log("I scrolled vertically.");
}
else {
prevLeft = currentLeft;
}
});
您还可以使用
.scrollTop
创建自定义垂直滚动事件
var prevTop = 0;
$(document).scroll( function(evt) {
var currentTop = $(this).scrollTop();
if(prevTop !== currentTop) {
prevTop = currentTop;
console.log("I scrolled vertically.");
}
});
我不知道为什么我没有想到这一点。非常感谢这正是我想要的。(我只是使用了scrollTop(),因为它适合我的情况)