具体的实现方法如下:
$(window).scroll(function() {
如果滚动的高度加上窗口的高度等于页面的高度就是到了底部
if($(window).scrollTop() + $(window).height() == $(document).height()) {
alert("bottom!")//已经滚动到底部
}
})
或者也可以写专用方法检测高度:
function getDocHeight() {
var D = document
return Math.max(
D.body.scrollHeight, D.documentElement.scrollHeight,
D.body.offsetHeight, D.documentElement.offsetHeight,
D.body.clientHeight, D.documentElement.clientHeight
)
}
然后再用以下方法检测:
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() == getDocHeight()) {
alert("bottom!")
}
})
设置一个全局变量is_running = false然后再你scroll触发的事件方法的开头加上一个if判断,如果is_running==false就先把is_running=true,然后执行方法。
在执行结束的末尾,把is_running=false改回来表示执行结束,
这相当于加锁和解锁的过程,在is_running==true的期间就算触发了此方法也不会真正执行的
所以连续触发时只执行一次。当然你在方法执行过程中最好有异常捕获,以防执行到一半出错了,is_running 一直是true,然后永远执行不了了