通过这个问题 - How can I determine the direction of a jQuery scroll event?,我写了这段代码。
var lastS=$(window).scrollTop();
function whatHappened()
{
var currentS=$(window).scrollTop();
console.log(lastS,currentS);
if(currentS>lastS)
{
lastS = currentS;
return "Scroll down";
}
else
{
lastS = currentS;
return "Scroll up";
}
}
$(window).on("mousewheel",function(){
console.log(whatHappened());
});
这似乎工作正常,但有一个小问题。如果我向下滚动两次以上,然后向上滚动,则首先向下滚动,然后向上滚动。反之亦然。 怎么了? 请帮忙。提前谢谢。
答案 0 :(得分:0)
鼠标滚轮事件是非标准的 - 在您的情况下,它可能会在滚动信息更新之前被触发,因此您始终在"之前的"滚动高度。