看源码,无限加载是因为这个
// 如果文档高度不大于窗口高度,数据较少,自动加载下方数据 function fnAutoLoad(me) { if (me.opts.autoLoad) { if ((me._scrollContentHeight - me._threshold) <= me._scrollWindowHeight) { loadDown(me); } } }
根据实际情况 ,如果数据本身较少 me.lock() me.nodata(true)
load.js下拉列表数据加载结束后,回到顶端刷新页面,数据就不在重新加载。
原因一、页面展示在tabbar中,tabbar框架div中calss="weui-tab_panel"和class="weui_tab_bd_item"样式为height:100%和overflow:auto; load.js需要自身控制div的高度和进度条,需要手动设置页面设置height:auto; overflow:hidden;页面加载数据的高度和进度条就可以通过load.js控制。
原因二、load方法规范问题,按照例子一点可出错。
loadUpFn (简写 up)和loadDownFn(简写 down)
1)up中数据拼接需要用$(".name").html(val),down中数据拼接用$(".name").append(val)
2)
问题:load.js下拉数据列表加载结束后,回到顶端刷新页面,数据就不在重新加载。
原因一
页面展示在tabbar中,tabbar框架div中calss="weui-tab_panel"和class="weui_tab_bd_item"样式为height:100%和overflow:auto; load.js需要自身控制div的高度和进度条,需要手动设置页面设置height:auto; overflow:hidden;页面加载数据的高度和进度条就可以通过load.js控制。
原因二
load方法规范问题,按照例子一点也不可出错,主要有以下几点:
loadUpFn (简写 up)和loadDownFn(简写 down)
1)up中数据拼接需要用$(".name").html(val),down中数据拼接用$(".name").append(val)
2) up和down中结束后必须重置,me.resetload()
3) 数据锁定情况可能会影响数据加载,就将所有数据中的锁定me.lock()都注释掉
4)up方法结束后,设置提前加载距离threshold:50
5) 为了防止数据锁死,将所有锁定方法都注释掉
6)当无数据noData()时,要标明参数noData(true)--无数据; noData(false)--有数据
7) 每页展示个数设置,在load方法之前声明设置page=0从0开始, size=10,在page.java文件中,将pageSize = 10即可展示每页10个数据。
项目中遇到的搜索问题:
初始加载的数据如果浏览到底部后再进行搜索,则搜索结果无法触发上拉加载。
例子中在上拉加载和下拉刷新时执行了一个resetLoad()方法,这个方法内部触发了fnRecoverContentHeight函数重新获取加载区的高度,而没数据时则不会触发。
我的方法是在load.js的这里重新获取了下高度:
else{ // 如果没数据 fnRecoverContentHeight(me); me.$domDown.html(me.opts.domDown.domNoData); }
页面js里注意要添加
myload.unlock(); myload.resetload();