这种方式,当一直向下滚动的时候,只会显示一次‘down’,只有两次方向不一样时才会重新显示。
var scrollAction,originalDir;
window.onscroll = function (e) {
var direction = scrollFunc();
if(direction&&originalDir!=direction){
if (direction == 'down') {
console.log('down');
}
else {
console.log('up');
}
originalDir=direction;
}
}
//判断页面滚动方向
function scrollFunc() {
var scrollDirection;
if (!scrollAction) {
scrollAction = window.pageYOffset;
}
var diff = scrollAction - window.pageYOffset;
if (diff < 0) {
// Scroll down
scrollDirection = 'down';
} else if (diff > 0) {
// Scroll up
scrollDirection = 'up';
} else {
// First scroll event
}
scrollAction = window.pageYOffset;
return scrollDirection;
}