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 相关文章推荐
JS文本框默认值处理详解
Jul 10 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
Aug 27 Javascript
jQuery内置的AJAX功能和JSON的使用实例
Jul 27 Javascript
jQuery实现自动滚动到页面顶端的方法
May 22 Javascript
JavaScript截断字符串的方法
Jul 15 Javascript
微信开发 微信授权详解
Oct 21 Javascript
关于js函数解释(包括内嵌,对象等)
Nov 20 Javascript
浅析location.href跨窗口调用函数
Nov 22 Javascript
认识jQuery的Promise的具体使用方法
Oct 10 jQuery
JavaScript引用类型Array实例分析
Jul 24 Javascript
Vue中Quill富文本编辑器的使用教程
Sep 21 Javascript
JavaScript 防篡改对象的用法示例
Apr 24 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 网页游戏开发入门教程一(webgame+design)
2009/10/26 PHP
PHP 检查扩展库或函数是否可用的代码
2010/04/06 PHP
PHP 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
php随机取mysql记录方法小结
2014/12/27 PHP
PHP SPL标准库中的常用函数介绍
2015/05/11 PHP
php实现在服务器端调整图片大小的方法
2015/06/16 PHP
PHP快速生成各种信息提示框的方法
2016/02/03 PHP
thinkPHP5.0框架应用请求生命周期分析
2017/03/25 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
表单提交验证类
2006/07/14 Javascript
jQuery移除元素自动解绑事件实现思路及代码
2014/05/31 Javascript
JS来动态的修改url实现对url的增删查改
2014/09/05 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
jQuery实现图片左右滚动特效
2020/04/20 Javascript
javascript学习总结之js使用技巧
2015/09/02 Javascript
关于验证码在IE中不刷新的快速解决方法
2016/09/23 Javascript
Vue批量图片显示时遇到的路径被解析问题
2019/03/28 Javascript
[17:36]VG战队纪录片
2014/08/21 DOTA
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
Python实现按当前日期(年、月、日)创建多级目录的方法
2018/04/26 Python
Python 从列表中取值和取索引的方法
2018/12/25 Python
python opencv minAreaRect 生成最小外接矩形的方法
2019/07/01 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
python构造函数init实例方法解析
2020/01/19 Python
详解python3 GUI刷屏器(附源码)
2021/02/18 Python
Sunglasses Shop荷兰站:英国最大的太阳镜独立在线零售商和供应商
2017/01/08 全球购物
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
大专毕业生自我评价分享
2013/11/10 职场文书
如何写好优秀的创业计划书
2014/01/30 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
天那边观后感
2015/06/09 职场文书
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python
MySQL连接查询你真的学会了吗?
2021/06/02 MySQL
Golang中channel的原理解读(推荐)
2021/10/16 Golang
vue @click.native 绑定原生点击事件
2022/04/22 Vue.js