function loadNextPage(obj){
this.el = obj.el;
this.distance = this.distance ? this.distance : 0;
this.downFN = obj.downFN;
this.time = null;
this.flag = true;
this.init();
}
loadNextPage.prototype = {
constructor:loadNextPage,
init:function(){
this.onScroll()
},
getScrollTop: function() {
var scrollTop = 0;
if(document.documentElement && document.documentElement.scrollTop) {
scrollTop = document.documentElement.scrollTop;
} else if(document.body) {
scrollTop = document.body.scrollTop;
}
return scrollTop;
},
getClientHeight:function() {
var clientHeight = 0;
if(document.body.clientHeight && document.documentElement.clientHeight) {
clientHeight = Math.min(document.body.clientHeight, window.innerHeight);
} else {
clientHeight = Math.max(document.body.clientHeight, window.innerHeight);
}
return clientHeight;
},
onScroll:function(){
var _this = this;
window.onscroll = function() {
var elTop = document.querySelector(_this.el).getBoundingClientRect().top;
var elH = document.querySelector(_this.el).getBoundingClientRect().height;
if(_this.getScrollTop()-(_this.getScrollTop()+elTop + elH - _this.getClientHeight()) >= -1) {
clearTimeout(_this.time);
_this.time=setTimeout(function(){
if(!_this.flag){
return false;
}
_this.flag = false;
_this.downFN()
},300)
}
}
}
}
var loadNextPage = new loadNextPage({
el:".profit_list",
distance:10,
downFN:function(){
//滑动到目标元素后触发的回调函数
//需要设置loadNextPage.flag = true才能再次回调
}
})