infinite无法持续加载更多数据
老师,还是之前那个infinite不触发的问题,现在发现当加载的数据条数超过一定之后,infinite函数就不触发了。(老师给的sql一共是7条数据,我把他复制了下,数据库一共14条数据,复制的数据在名称前会有个2字以示区分,uid是一样的,但是这里应该没影响)
数据库截图如下:
模板里的infinite代码如下:
当我设置每页6条数据后
会发现页面是调过1次infinite函数的,页面当前显示的是7条原始数据和5条复制数据,还有2条数据未显示,但是当加载完一次更多数据后,再往下往上尝试更多次加载更多时,已经不会再触发infinite函数,更明显的是,当我把分页数据写成10条时,infinite函数就一次也不会执行了。
我感觉下来,问题就是当数据页面稍微多一点的时候,infinite函数就失灵了。想问下老师的程序里,如果当数据足够多的时候,比如数据库有100条数据,每页10条,能把数据一页一页全部加载完吗?
以下是我该页面的js代码:
<script>
var page=1;
{#var noMore = false;#}
var loading = false; //状态标记
var list = $('#mall_list');
function loadData(page_tmp, finishCallBack){
$.ajax({
url:"{% url 'mall:product_load_list' %}",
data:{
page:page_tmp
},
success:function (rs) {
{#alert(rs);#}
if (finishCallBack){
finishCallBack(rs);
}
}
});
}
$(document.body).pullToRefresh().on("pull-to-refresh", function() {
headRefresh();
});
$(document.body).infinite(200).on("infinite", function() {
console.log(11111);
footerRefresh();
});
function headRefresh(){
if(loading) return;
loading = true;
loadData(1, function (rs) {
$(document.body).pullToRefreshDone();
loading = false;
page = 1;
list.empty();
list.append(rs);
});
}
function footerRefresh(){
{#if(loading || noMore) return;#}
if(loading) return;
loading = true;
page_tmp = page + 1;
loadData(page_tmp, function (rs) {
loading=false;
page = page_tmp;
list.append(rs);
});
}
$(function () {
headRefresh();
});
</script>
正在回答 回答被采纳积分+1
同学,你好,
1、同学需要更新一下jQuery WeUI 的版本,更新为jQuery WeUI V1.2.1就可以实现加载更多的数据
下载链接如下:http://jqweui.com/download,下载并解压,打开后找到dist中的js文件,把jquery-weiui.js文件复制到项目的js文件
2、多次尝试下拉刷新,是可以加载更多数据的,可以在infinite()中输出提示信息
- 参与学习 人
- 提交作业 218 份
- 解答问题 3562 个
本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星