原生js:
//判断是滚动到页面底部
function uiIsPageBottom() {
var scrollTop = 0;
var clientHeight = 0;
var scrollHeight = 0;
if (document.documentElement && document.documentElement.scrollTop) {
scrollTop = document.documentElement.scrollTop;
} else if (document.body) {
scrollTop = document.body.scrollTop;
}
if (document.body.clientHeight && document.documentElement.clientHeight) {
clientHeight = (document.body.clientHeight < document.documentElement.clientHeight) ? document.body.clientHeight: document.documentElement.clientHeight;
} else {
clientHeight = (document.body.clientHeight > document.documentElement.clientHeight) ? document.body.clientHeight: document.documentElement.clientHeight;
}
// 知识点:Math.max 比较大小,取最大值返回
scrollHeight = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
if (scrollTop + clientHeight == scrollHeight) {
return true;
} else {
return false;
}
}
jquery版:
$(window).scroll(function () {
var scrollTop = $(this).scrollTop();//滚轮卷出(滚轮距顶部距离)高度
var scrollHeight = $(document).height();//整个文档高度
var windowHeight = $(this).height();//当前屏幕高度
//文档-(卷去+当前屏幕)=文档余下距离
if (scrollHeight - (scrollTop + windowHeight)<10) {
/*此处是滚动条到距底部n个px时候触发的事件,在这里写要加载的数据,或者是拉动滚动条的操作*/
}
});