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 相关文章推荐
javascript之更有效率的字符串替换
Aug 02 Javascript
javascript 限制输入和粘贴(IE,firefox测试通过)
Nov 14 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
Jan 22 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
Aug 17 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
Dec 03 Javascript
node.js实现端口转发
Apr 14 Javascript
前端性能优化及技巧
May 06 Javascript
js获取Get值的方法
Sep 29 Javascript
Vue2实现组件props双向绑定
Dec 02 Javascript
JavaScript定时器实现的原理分析
Dec 06 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
Dec 15 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
Jul 22 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
BBS(php &amp; mysql)完整版(八)
2006/10/09 PHP
php图片缩放实现方法
2014/02/20 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
2015/04/08 PHP
jQuery1.6 正式版发布并提供下载
2011/05/05 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
javascript中日期转换成时间戳的小例子
2013/03/21 Javascript
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
js加载读取内容及显示与隐藏div示例
2014/02/13 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
浅谈AngularJs指令之scope属性详解
2016/10/24 Javascript
vue-router 路由基础的详解
2017/10/17 Javascript
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
JavaScript Dom 绑定事件操作实例详解
2019/10/02 Javascript
JavaScript 判断数据类型的4种方法
2020/09/11 Javascript
Python工程师面试题 与Python基础语法相关
2016/01/14 Python
python使用psutil模块获取系统状态
2016/08/27 Python
Python实现学校管理系统
2018/01/11 Python
Vue的el-scrollbar实现自定义滚动
2018/05/29 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
python实现静态服务器
2019/09/05 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
Python dict和defaultdict使用实例解析
2020/03/12 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
联想法国官方网站:Lenovo法国
2018/10/18 全球购物
Nordgreen英国官网:斯堪的纳维亚设计师手表
2018/10/24 全球购物
教育局长自荐信范文
2013/12/22 职场文书
真诚的求职信
2014/07/04 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
教师学期末个人总结
2015/02/13 职场文书
商务英语邮件开头问候语
2015/11/10 职场文书
2019最新激励员工口号大全!
2019/06/28 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python