本人前端小菜鸟一枚,今天工作中正好被发到这个任务,所以特意梳理一遍,如有雷同,仅供参考
首先先上代码
$(window).scroll(function(){
var scrollTop=$(this).scrollTop();//滚动条已经滚动的距离(高度)
var windowHeight=$(this).height();//window窗口的高度
var documentHeight=$(document).height();//文档对象的高度
if((scrollTop+windowHeight)>=documentHeight){
alert("到底了");
//此处调用加载数据的函数
}
});
上面的代码主要利用jquery的scroll()函数,这个函数是用来监听对象的scroll事件,也就是滚动条滚动事件。
那么究竟怎么确定滚动条到底了了呢,这就要说道代码中定义的三个变量了 :
var scrollTop=$(this).scrollTop();//滚动条已经滚动的距离(高度)
var windowHeight=$(this).height();//window窗口的高度
var documentHeight=$(document).height();//文档对象的高度
我们平时看到的滚动条一般都是一个长条,但其实在代码的世界里它就是一个点,通过juqery的scrollTop()函数就可以知道它滚了多远,另外两个变量window窗口的高度,和文档对象的高度。其实我们之所以能够看到滚动条就是因为文档对象的高度超过了window窗口的高度,那有一部分就不得不隐藏起来,而这隐藏起来的高度就是滚动条能滚动的距离,相信说道这大家应该知道了这其中有一个公式
文档对象的高度-window窗口的高度=滚动条可以滚动的高度
那么什么时候到底想必不用我说了吧,就是滚动条已经滚动的高度=它可以滚动的高度时。当这个公式成立时,它就倒底了。最后附一张自己画的图