当前位置:   article > 正文

上拉刷新和下拉加载_监听div框上拉下拉

监听div框上拉下拉

上拉刷新和下拉加载都是由主容器和子容器组成。子容器在父容器中运动。

在父容器中预加载子容器,然后在子容器中初始化预加载参数。

注意:为了保证IOS和Android平台的一直性,统一采用相同的Dom结构!

父页面~~~

  1. <body>
  2. <div class="mui-content"></div>
  3. </body>
  4. <script type="text/javascript">
  5. /**
  6. * 下拉刷新和上拉加载都由两个webview组成
  7. */
  8. //启用双击监听
  9. mui.init({
  10. /*开启双击手势*/
  11. gestureConfig: {
  12. doubletap: true
  13. },
  14. /*创建子页面*/
  15. subpages: [{
  16. url: 'pullrefresh_sub.html',
  17. id: 'pullrefresh_sub.html',
  18. styles: {
  19. top: '45px',
  20. bottom: '0px',
  21. }
  22. }]
  23. });
  24. /*contentWebview就是子页面*/
  25. var contentWebview = null;
  26. document.querySelector('header').addEventListener('doubletap', function() {
  27. if(contentWebview == null) {
  28. contentWebview = plus.webview.currentWebview().children()[0];
  29. }
  30. /*将mui语法转换成js进行执行*/
  31. contentWebview.evalJS("mui('#pullrefresh').pullRefresh().scrollTo(0,0,100)");
  32. });
  33. </script>
子页面~~~

  1. <body>
  2. <!--为了保证IOSAndroid平台的一直性,统一采用相同的Dom结构-->
  3. <!--下拉刷新容器-->
  4. <div id="pullrefresh" class="mui-content mui-scroll-wrapper">
  5. <div class="mui-scroll">
  6. <!--数据列表-->
  7. <ul class="mui-table-view mui-table-view-chevron">
  8. </ul>
  9. </div>
  10. </div>
  11. <script>
  12. mui.init({
  13. pullRefresh: {
  14. container: '#pullrefresh',
  15. down: {
  16. callback: pulldownRefresh
  17. },
  18. up: {
  19. contentdown: "",
  20. contentrefresh: '诚信 精品 正品',
  21. contentnomore: "",
  22. callback: pullupRefresh
  23. }
  24. }
  25. });
  26. /**
  27. * 下拉刷新具体业务实现
  28. */
  29. function pulldownRefresh() {
  30. setTimeout(function() {
  31. var table = document.body.querySelector('.mui-table-view');
  32. var cells = document.body.querySelectorAll('.mui-table-view-cell');
  33. /*每次下拉刷新新增5个元素*/
  34. for(var i = cells.length, len = i + 5; i < len; i++) {
  35. /*创建元素*/
  36. var li = document.createElement('li');
  37. li.className = 'mui-table-view-cell';
  38. li.innerHTML = '<a class="mui-navigate-right">Item ' + (i + 1) + '</a>';
  39. //下拉刷新,新纪录插到最前面;
  40. table.insertBefore(li, table.firstChild);
  41. }
  42. //完成刷新
  43. mui('#pullrefresh').pullRefresh().endPulldownToRefresh(); //refresh completed
  44. }, 1500);
  45. }
  46. var count = 0;
  47. /**
  48. * 上拉加载具体业务实现
  49. */
  50. function pullupRefresh() {
  51. setTimeout(function() {
  52. /*上拉加载四次后就不能在加载了*/
  53. mui('#pullrefresh').pullRefresh().endPullupToRefresh((++count > 4)); //参数为true代表没有更多数据了。
  54. var table = document.body.querySelector('.mui-table-view');
  55. var cells = document.body.querySelectorAll('.mui-table-view-cell');
  56. /*因为每次加载子页面都会先运行pullupRefresh(),所以初始化数量由函数控制*/
  57. for(var i = cells.length, len = i + 15; i < len; i++) {
  58. var li = document.createElement('li');
  59. li.className = 'mui-table-view-cell';
  60. li.innerHTML = '<a class="mui-navigate-right">Item ' + (i + 1) + '</a>';
  61. /*在末尾添加元素*/
  62. table.appendChild(li);
  63. }
  64. }, 1500);
  65. }
  66. /*判断plus环境*/
  67. if(mui.os.plus) {
  68. mui.plusReady(function() {
  69. setTimeout(function() {
  70. mui('#pullrefresh').pullRefresh().pullupLoading();
  71. }, 1000);
  72. });
  73. } else {
  74. mui.ready(function() {
  75. mui('#pullrefresh').pullRefresh().pullupLoading();
  76. });
  77. }
  78. </script>
  79. </body>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/1008971
推荐阅读
相关标签
  

闽ICP备14008679号