有时候需要用到,判断页面是向上还是向下滚动了,兼容比较低版本的浏览器如IE6、7等。
原理:拿当前的scrollTop和之前的scrollTop对比
如果变大了,表示向下滚动(scrollTop值变大);
如果变小了,表示向上滚动(scrollTop值变小)。
难点是理解setTimeout=0时的运行机制。
$(document).ready(function(){
var p=0,t=0;
$(window).scroll(function(e){
p = $(this).scrollTop();
if(t<=p){//下滚
.......
}
else{//上滚
.......
}
setTimeout(function(){t = p;},0);
});
});