js ajax向上滑动加载更多,jQuery & JavaScript 实现上滑加载更多

本文介绍如何使用JavaScript实现网页滚动加载的优化,包括基础的底部加载更多功能,以及升级版的设计,当用户拉到页面底部并继续上滑时提示加载更多内容。涉及AJAX异步请求和滚动事件监听的高级应用。

下载全部文件

在线查看 JS 代码

function bottomScrollLoading(contentObj, loadingObj, url) {

var loading = false;

$(window).scroll(function (){

if (loading)

{

return; // 已经在加载中了,再拖也没有用

}

var scrollTop = $(window).scrollTop();

var clientHeight = $(window).height();

// var clientHeight = document.body.clientHeight; // 如果没有为网页指定 DOCTYPE,则用这句代替上一句

if (scrollTop + clientHeight < $(document).height()){

return; // 还没有拖到底

}

loading = true;

$(loadingObj).show(); // 显示“加载中”

$(window).scrollTop(scrollTop + $(loadingObj).height()); // 继续滚动,让“加载中”显示完整

// ajax 读取

$.ajax({

url: url,

success: function (data){

// setTimeout(function (){

$(contentObj).append(data);

// }, 5000); // 为了效果明显,作了延迟,调试用。

},

complete : function (){

// setTimeout(function (){

$(loadingObj).hide();

$(window).scrollTop(scrollTop); // 由于前面为了显示“加载中”让网页下滚了,这里要复原,否则如果遇到加载的内容高度 < “加载中”高度,就会导致又触发滚动加载。

loading = false;

// }, 5000); // 为了效果明显,作了延迟,调试用。

}

});

});

}

$(window).ready(function (){

bottomScrollLoading("#list", "#bottomLoading", "data.htm");

});

如果要做成拉到底还可以多拉一点点,此时提示“继续上滑,加载更多”,然后再继续上滑,才加载更多,这就更复杂了。

请继续阅读升级版。

相关阅读

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值