[HTML] 纯文本查看 复制代码
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<style>
ul {
margin: 0 auto;
padding: 0;
width: 300px;
list-style: none;
}
li {
height: 200px;
}
.lazy {
margin-bottom: 100px;
width: 300px;
height: 168px;
text-align: center;
line-height: 168px; /*垂直居中*/
}
</style>
<body style="margin: 0 auto;width: 60%;">
<div>
<ul id="loading">
</ul>
<!-- 记录当前页码 -->
<input id="page" type="hidden" value="1">
<ul>
<li><span id="res" style="color:red;"></span></li>
</ul>
</div>
</body>
</html>
[JavaScript] 纯文本查看 复制代码
<!-- 引入jQuery -->
<!-- 替换成你的本地jquery的路径 -->
<script src="/publc/jquery.min.js"></script>
<script>
$(function() {
// 初始化,加载第一页数据
init();
// 开始编写下啦加载代码啦
// 第一步 定义stop变量控制是否继续加载
var stop = true;
$(window).scroll(function(){
// 第二步 当滚动条离底部100px时开始加载下一页的内容
if( (parseInt($(window).height()) + parseInt($(window).scrollTop()) + 100) >= parseInt($(document).height())){
if(stop==true){
stop=false;
// 第三步 获取当前页码
var page = parseInt($("#page").val()) ? parseInt($("#page").val()) : 1;
// 第四步 下一页
var page = page+1;
// 第五步 发起ajax请求到后台获取数据
$.post("postdata.php", {page:page},function(res){
// 第六步 判断后台是否有数据
if (res['code'] > 0) {
var html = '';
var data = res['data'];
for (var i in data) {
html += '<li>姓名:'+data['name']+'|年龄:'+data['age']+'岁</li>';
}
$("#loading").append(html);
$("#page").val(page);
stop=true;
} else {
// 已经加载完毕,不让再调用ajax
stop=false;
}
},"json");
} else {
stop=false;
$("#res").html("已经加载完毕~~~~~~");
}
}
});
// 初始化第一次加载的数据
function init()
{
var page = $("#page").val() ? $("#page").val() : 1;
// 第一步 发起ajax请求到后台获取数据
$.post("postdata.php", {page:page},function(res){
// 第二步 判断后台是否有数据
if (res['code'] > 0) {
var html = '';
var data = res['data'];
for (var i in data) {
html += '<li>姓名:'+data['name']+'|年龄:'+data['age']+'岁</li>';
}
$("#loading").append(html);
$("#page").val(res.page);
stop=true;
} else {
stop=false;
$("#res").html("已经加载完毕~~~~~~");
}
},"json");
}
});
</script>