使用dragloader.js插件实现上拉加载/下拉刷新.
使用dragloader.js插件实现上拉加载/下拉刷新..
在写代码时候有个需求是,在触屏页面,为了加快页面加载速度,案件列表每页展示5条数据;
然后点击更多,展示下一页数据;
但是为了触屏更好的体验,改为往上滑动案件列表,加载下一页数据;就是要实现上拉加载/下拉刷新的效果;
我只用到了 上拉加载;
参考资料:http://blog.****.net/xb12369/article/details/39202711
下面是写的demo:
html代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>touchMove事件使用_下拉加载更多demo</title> </head> <style> .parent { height:400px; width:100px; overflow-y: scroll; margin-top: 30px; margin-left: 100px; } .child { height:50px; text-align: center; list-style: none; background: #ccc; border:1px solid #999; } </style> <body> <div class="parent main" id="list_main"> <li class="child">a</li> <li class="child">b</li> <li class="child">c</li> <li class="child">d</li> <li class="child">e</li> <li class="child">f</li> <li class="child">g</li> <li class="child">h</li> <li class="child">i</li> <li class="child">j</li> <li class="child">k</li> </div> <div id="up-refresh" class="new-list-more"> <span class="up-refresh-ico"></span> <span class="up-refresh-text" onclick="ajaxChangePage()">向上滑动加载更多数据</span> </div> <script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript" src="dragloader.js"></script> <script type="text/javascript" src="bootstrap.min.js"></script> <script type="text/javascript">js代码:
<script type="text/javascript"> $(function(){ var uprefresh=document.getElementById('up-refresh'); var list_main = document.getElementById('list_main'); var dragger = new DragLoader(document.getElementsByClassName('main')[0], { dragDownThreshold:60,/*向下滑动区域*/ dragUpThreshold:100,/*向上滑动区域*/ dragDownRegionCls: 'DownRefresh',/*向下滑动样式*/ dragUpRegionCls: 'UpRefresh',/*向上滑动样式*/ disableDragDown: true, /*[主要code]向上滑动时的状态显示*/ dragUpHelper: function(status) { uprefresh.querySelector('.up-refresh-ico').style.display='none'; if (status == 'default') { uprefresh.querySelector('.up-refresh-text').innerHTML = '<span class="up-refresh-ico"></span>向上滑动加载更多数据'; return ''; } else if (status == 'prepare') { uprefresh.querySelector('.up-refresh-text').innerHTML = '<span class="up-refresh-ico"></span>松开加载更多数据'; return ''; } else if (status == 'load') { uprefresh.querySelector('.up-refresh-text').innerHTML = '<span class="loading-img"></span>正在加载中,请稍后...'; return ''; } } }); /* 上拉加载更过立案item; 由业务功能主动调用reset()接口,以还原状态 ajax()加载数据完成调用reset()重置drag状态 */ dragger.on('dragUpLoad', function() { /*备注:此处放置数据刷新的脚本,主要是新闻列表页的 li */ alert('up刷新'); var html = "<li class=\"child\">更多</li>"; $(".parent.main").append(html); dragger.reset(); }); }) </script>
参考地址:maxzhang/dragloader
dragloader.js是一个面向移动Web开发的JavaScript库,帮助开发者在使用页面原生滚动时,模拟上/下拉手势,实现Pull to Request操作。
关于dragloader.js的一些使用说明:或者api:百度快照:http://cache.baiducontent.com/c?m=9d78d513d99501fc0dfa950e4a54c0676912da236b968a482182870fd33a541b0120a1ac26510d19918e3a3d5cf3130fbba96132761420c0ca95d7579fa6c8736dd377696d4ac612478d44fc9d1165&p=882a9645d08a52f302a2c7710f0098&newp=8b2a971e9d934eac58ebd428544e82231610db2151d4db1e249f&user=baidu&fm=sc&query=dragUpThreshold&qid=b442ddb60000ca2a&p1=1
dragloader.js上传到资源共享。