var time1;
var srcollOld = 0,srcollNow = 0,scrollFun = false;
$(window).scroll(function () {
//$(window).scrollTop()这个方法是当前滚动条滚动的距离
//$(window).height()获取当前窗体的高度
//$(document).height()获取当前文档的高度
var bot = 50; //bot是底部距离的高度
if ((bot + $(window).scrollTop() ) >= ($(document).height() - $(window).height())) {
srcollNow = $(window).scrollTop();
if(srcollNow >= srcollOld){
if(!scrollFun){
//第一次请求完成后才发第二次请求
scrollFun = true;
clearTimeout(time1);
time1=window.setTimeout(function(){
loadAjax()
},500);
}
}
srcollOld = srcollNow;
}
});
function loadAjax(){
$.ajax({
url: url,
type: type,
success:function (data) {
scrollFun = false;
if (data.success == true) {
}else{
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
scrollFun = false;
}
});
}
VUE 滚动到底部加载数据
<div class='list' ref="viewBox"></div>
mounted(){
this.$refs.viewBox.addEventListener('scroll', this.loadingMore, false);
this.getActivtyList()
},
methods: {
getActivtyList(){
},
loadingMore(){
//变量scrollTop是滚动条滚动时,距离顶部的距离
var scrollTop = this.$refs.viewBox.scrollTop;
//变量windowHeight是可视区的高度
var windowHeight = this.$refs.viewBox.clientHeight;
//变量scrollHeight是滚动条的总高度
var scrollHeight = this.$refs.viewBox.scrollHeight;
//滚动条到底部的条件
if(scrollTop+windowHeight==scrollHeight){
//写后台加载数据的函数
console.log("距顶部"+scrollTop+"可视区高度"+windowHeight+"滚动条总高度"+scrollHeight);
if(Math.ceil(this.total/this.pageSize) > this.pageNo){
this.pageNo += 1;
this.getActivtyList()
}
}
}
}