scroll()是jQuery中的内置方法,用于用户滚动指定的元素。
此方法适用于所有可滚动元素和浏览器窗口。
<script>
var page = 1; // 这是一个全局的变量,作为我们的页码,超过以此就+1
var a = 0; // 定一个全局变量,防止重复加载,这是个大坑所在
$(document).ready(function () {
$(window).scroll(function () {
// $(document).scrollTop(); // 当前滚动条滚动的距离(目前所在的位置)
// $(document).height(); // 当前文档的高度(文章一共有多长)
// $(window).height(); // 当前窗体的高度(一页一共有多长)
if ($(this).scrollTop() <= 0) {
setTimeout("reloads()", 100); // 定义一个函数让向上刷新
return;
}
// - $(document).scrollTop() 防止在安卓端不生效
if ($(document).scrollTop() >= $(document).height() - $(window).height() - $(document).scrollTop()) {
if (a == 0) {
page++;
setTimeout(function () {
ajaxData(page, '{$_userid}');
}, 100); // 定时调用,让弹框显示,不然会太快你看不到弹框显示数据就加载完毕了,会很蒙蔽
}
a++; // 调用之后让它+1避免重复调用
return;
}
});
});
// 定义一个函数让向上刷新
function reloads() {
location.reload();
}
// 加载数据,传入相应的页码,和条件
function ajaxData(page, userid) {
$.ajax({
type: 'post',
url: "../api/getCreditList.php",
data: {'p': page, 'userid': userid},
success: function (data) {
var list = JSON.parse(data); // 把ajax的json数据转为数组格式
// 数据处理
for (var i in list) { // 循环遍历数据
$(".nei-zzbch-nav").append("<hr>" +
"<div id='creditList'>" +
"<div style='flex: 1.5; overflow: hidden;'>" +
"<div id='creditList1'>变动积分:<strong>" + list[i]['amount'] + "</strong></div>" +
"<div id='creditList2'>剩余积分:<strong>" + list[i]['balance'] + "</strong></div>" +
"</div>" +
"<div style='flex: 2.5; overflow: hidden;'>" +
"<div id='creditList3'>变动原因:<strong>" + list[i]['reason'] + "</strong></div>" +
"<div id='creditList4'>变动时间:<span>" + list[i]['addtime'] + "</span></div>" +
"</div>" +
"</div>" +
"<hr>");
}
a = 0; // 将全局变量清理,让下次好使用
}
});
}
</script>