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 相关文章推荐
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
Jan 11 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
Jan 26 Javascript
在JavaScript中对HTML进行反转义详解
May 18 Javascript
js从外部获取图片的实现方法
Aug 05 Javascript
详解javascript中对数据格式化的思考
Jan 23 Javascript
基于javascript实现数字英文验证码
Jan 25 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
Nov 29 Javascript
基于jQuery.i18n实现web前端的国际化
May 04 jQuery
react native基于FlatList下拉刷新上拉加载实现代码示例
Sep 30 Javascript
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
Jun 04 jQuery
Electron+vue从零开始打造一个本地播放器的方法示例
Oct 27 Javascript
Javascript webpack动态import
Apr 19 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
php之字符串变相相减的代码
2007/03/19 PHP
php 多个submit提交表单 处理方法
2009/07/07 PHP
php连接mssql数据库的几种方法
2013/02/21 PHP
php与java通过socket通信的实现代码
2013/10/21 PHP
php将html转为图片的实现方法
2017/05/19 PHP
javascript 显示当前系统时间代码
2009/12/28 Javascript
jQuery is()函数用法3例
2014/05/06 Javascript
jquery插件推荐浏览器嗅探userAgent
2014/11/09 Javascript
深入探讨JavaScript String对象
2015/03/09 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
使用watch监听路由变化和watch监听对象的实例
2018/02/24 Javascript
jQuery无冲突模式详解
2019/01/17 jQuery
详解easyui 切换主题皮肤
2019/04/04 Javascript
Electron + vue 打包桌面操作流程详解
2019/06/24 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
2019/07/24 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
js实现左右轮播图
2020/01/09 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
Windows下python3.6.4安装教程
2018/07/31 Python
Python爬取破解无线网络wifi密码过程解析
2019/09/17 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
Python新手如何理解循环加载模块
2020/05/29 Python
HTML5中的拖放实现详解
2017/08/23 HTML / CSS
使用html2canvas.js实现页面截图并显示或上传的示例代码
2018/12/18 HTML / CSS
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
Linux常见面试题
2013/03/18 面试题
八年级历史教学反思
2014/01/10 职场文书
通信生自我鉴定
2014/01/18 职场文书
yy婚礼司仪主持词
2014/03/14 职场文书
护理医院见习报告
2014/11/03 职场文书
建国大业观后感800字
2015/06/01 职场文书
红色经典电影观后感
2015/06/18 职场文书
python保存大型 .mat 数据文件报错超出 IO 限制的操作
2021/05/10 Python
java泛型通配符详解
2021/07/25 Java/Android