iscroll-probe实现下拉刷新和下拉加载效果


Posted in Javascript onJune 28, 2017

需要注意的是外部wrapper的高度,以及all的高度,须是>100%。

附加一个css3 的loading

.dengl-spinner {
  width: 0.682rem;
  height: 0.682rem;
  position: relative;
  position: absolute;
  z-index: -1;
  left: 50%;
  margin-left: -0.341rem;
  top: 2.5rem;
}
.dengl-spinner1{
  width: 0.682rem;
  height: 0.682rem;
  position: relative;
  position: fixed;
  z-index: -1;
  left: 50%;
  margin-left: -0.341rem;
  bottom: 1.5rem;
}
.dengl-cube1, .dengl-cube2 {
  background-color: #f2513f;
  width: 0.682rem;
  height: 0.682rem;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: cubemove 1.8s infinite ease-in-out;
  animation: cubemove 1.8s infinite ease-in-out;
}

.dengl-cube2 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

@-webkit-keyframes cubemove {
  25% {
    -webkit-transform: translateX(1rem) rotate(-90deg) scale(0.5)
  }
  50% {
    -webkit-transform: translateX(1rem) translateY(1rem) rotate(-180deg)
  }
  75% {
    -webkit-transform: translateX(0px) translateY(1rem) rotate(-270deg) scale(0.5)
  }
  100% {
    -webkit-transform: rotate(-360deg)
  }
}

@keyframes cubemove {
  25% {
    transform: translateX(1rem) rotate(-90deg) scale(0.5);
    -webkit-transform: translateX(1rem) rotate(-90deg) scale(0.5);
  }
  50% {
    transform: translateX(1rem) translateY(1rem) rotate(-179deg);
    -webkit-transform: translateX(1rem) translateY(1rem) rotate(-179deg);
  }
  50.1% {
    transform: translateX(1rem) translateY(1rem) rotate(-180deg);
    -webkit-transform: translateX(1rem) translateY(1rem) rotate(-180deg);
  }
  75% {
    transform: translateX(0px) translateY(1rem) rotate(-270deg) scale(0.5);
    -webkit-transform: translateX(0px) translateY(1rem) rotate(-270deg) scale(0.5);
  }
  100% {
    transform: rotate(-360deg);
    -webkit-transform: rotate(-360deg);
  }
}

上下两个

<div class="dengl-spinner" style="top:17rem">
  <div class="dengl-cube1"></div>
  <div class="dengl-cube2"></div>
</div>

<div class="dengl-spinner1" style="bottom:3rem;">
  <div class="dengl-cube1"></div>
  <div class="dengl-cube2"></div>
</div>

下面是正文

<style>
    #wrapper {
      position: absolute;
      width: 100%;
      z-index: 1;
      top: 16.1rem;
      bottom: 2rem;
      left: 0;
      overflow: hidden;
    }

    #all {
      position: absolute;
      z-index: 1;
      -webkit-tap-highlight-color: rgba(0,0,0,0);
      width: 100%;
      -webkit-transform: translateZ(0);
      -moz-transform: translateZ(0);
      -ms-transform: translateZ(0);
      -o-transform: translateZ(0);
      transform: translateZ(0);
      -webkit-touch-callout: none;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      -webkit-text-size-adjust: none;
      -moz-text-size-adjust: none;
      -ms-text-size-adjust: none;
      -o-text-size-adjust: none;
      text-size-adjust: none;
      background: #fff;
      min-height: 100.5%;
    }
  </style>
<div id="wrapper">
            <ul id="all"></ul>
  </div>
var index = 2, size = 10;
    $(function () {
      $.qr.ajax('UserCenter/myJdAndMl', { token: $.qr.gettoken() }, function (d) {
        var vm1 = new Vue({
          el: '#top_1',
          data: {
            money: d.data_single.money
          }
        });
        var vm2 = new Vue({
          el: '#top_2',
          data: {
            earnings: d.data_single.earnings,
            has_catfood: d.data_single.has_catfood,
            not_catfood: d.data_single.not_catfood
          }
        });
      });
      var myScroll = new IScroll('#wrapper', {
        mouseWheel: false,
        bounceTime: 1000,
        bounceLock: true,
        probeType: 3
      });
      var handle = 0;
      myScroll.on('scroll', function () {
        if (this.y > 50) {
          handle = 1;
        } else if (this.y < (this.maxScrollY - 50)) {
          handle = 2;

        };
      });
      myScroll.on('scrollEnd', function () {
        if (handle == 2) {
          add(index, size);
        } else if (handle == 1) {
          add(1, size);
        }
        handle = 0;
        myScroll.refresh();
      });
      document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
      add(1, size);
    });
    function add(pindex, psize) {
      $.qr.ajax('UserCenter/maoliangRecordList',
        { token: $.qr.gettoken(), pagesize: psize, pageindex: pindex }, function (d) {
          var _h = '';
          if (pindex != 1 && d.data_list.data_list.length > 0) index++;
          if (d.data_list.data_list.length == 0) return false; 
          $(d.data_list.data_list).each(function (i, j) {
            _h += '<li>';
            _h += '<div class="info" style="left: 10%">' + j.name + '</div>';
            _h += '<div class="info">' + j.num + '</div>';
            _h += '<div class="info">' + j.time + '</div>';
            _h += '</li>';
          });
          if (pindex == 1) $('#all').empty();
          $('#all').append(_h);

        }, false);

    }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Prototype源码浅析 String部分(二)
Jan 16 Javascript
TextArea设置MaxLength属性最大输入值的js代码
Dec 21 Javascript
JS操作select下拉框动态变动(创建/删除/获取)
Jun 02 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
Nov 25 Javascript
JavaScript中扩展Array contains方法实例
Aug 23 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
Aug 15 Javascript
js防阻塞加载的实现方法
Sep 09 Javascript
Angular4编程之表单响应功能示例
Dec 13 Javascript
解决vue项目中type=”file“ change事件只执行一次的问题
May 16 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
Jun 28 Javascript
jQuery实现的中英文切换功能示例
Jan 11 jQuery
Vue实现按钮级权限方案
Nov 21 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
Jun 28 #Javascript
JS中把函数作为另一函数的参数传递方法(总结)
Jun 28 #Javascript
js+html制作简单日历的方法
Jun 27 #Javascript
ionic环境配置及问题详解
Jun 27 #Javascript
微信小程序 密码输入(源码下载)
Jun 27 #Javascript
Javascript实现base64的加密解密方法示例
Jun 27 #Javascript
微信小程序 空白页重定向解决办法
Jun 27 #Javascript
You might like
ie focus bug 解决方法
2009/09/03 Javascript
javascript禁用键盘功能键让右击及其他键无效
2013/10/09 Javascript
使用upstart把nodejs应用封装为系统服务实例
2014/06/01 NodeJs
javascript处理a标签超链接默认事件的方法
2015/06/29 Javascript
coffeescript使用的方式汇总
2015/08/05 Javascript
JS实现从网页顶部掉下弹出层效果的方法
2015/08/06 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
js窗口关闭提示信息(兼容IE和firefox)
2015/10/23 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
vue 优化CDN加速的方法示例
2018/09/19 Javascript
mpvue项目中使用第三方UI组件库的方法
2018/09/30 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
[01:05]DOTA2完美大师赛趣味视频之选手教你打职业
2017/11/23 DOTA
Python简单日志处理类分享
2015/02/14 Python
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
python创建一个最简单http webserver服务器的方法
2015/05/08 Python
python解决网站的反爬虫策略总结
2016/10/26 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
详解django.contirb.auth-认证
2018/07/16 Python
Django实现一对多表模型的跨表查询方法
2018/12/18 Python
pyqt5 获取显示器的分辨率的方法
2019/06/18 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
python——全排列数的生成方式
2020/02/26 Python
Python extract及contains方法代码实例
2020/09/11 Python
French Connection官网:女装、男装及家居用品
2019/03/18 全球购物
社会实践自我鉴定
2013/11/07 职场文书
运动会稿件300字
2014/02/14 职场文书
2014年清明节网上祭英烈寄语
2014/04/09 职场文书
中学生清明节演讲稿
2015/03/18 职场文书
音乐研修感悟
2015/11/18 职场文书
2016年“5.12”护士节慰问信
2015/11/30 职场文书
OpenCV-Python实现人脸美白算法的实例
2021/06/11 Python