js仿手机页面文件下拉刷新效果


Posted in Javascript onOctober 14, 2016

最后弄出了一个简单的下拉刷新页面的形式,还不算太复杂

要在仿真器下才能看到效果,比如chrome的里边(或者用手机浏览器查看,但测试发现有些浏览器有问题,目前手机猎豹是没问题的)

js仿手机页面文件下拉刷新效果

js仿手机页面文件下拉刷新效果

js仿手机页面文件下拉刷新效果

js仿手机页面文件下拉刷新效果

主要就是:

下拉-->提示松开刷新-->松开后-->开始刷新-->刷新成功后还原

html,css部分

style type="text/css">
 #slideDown{margin-top: 0;width: 100%;}
   #slideDown1,#slideDown2{width: 100%;height: 70px;;background: #e9f4f7;display: none;}
   #slideDown1{height: 20px;}
   #slideDown1>p,#slideDown2>p{margin: 20px auto;text-align:center;font-size: 14px;color: #37bbf5;}
</style>


 <div id="content">
  <div id="slideDown">
   <div id="slideDown1">
    <p>松开刷新</p>
   </div>
   <div id="slideDown2">
    <p>正在刷新 ...</p>
   </div>
  </div>
  <div class="myContent">
   <ul>
    <li>item1 -- item1 -- item1</li>
    <li>item2 -- item2 -- item2</li>
    <li>item3 -- item3 -- item3</li>
    <li>item4 -- item4 -- item4</li>
    <li>item5 -- item5 -- item5</li>
    <li>item6 -- item6 -- item6</li>
    <li>item7 -- item7 -- item7</li>
   </ul>
  </div>
 </div>

js部分:

主要就是为一个节点绑定事件,可以是整个body,按照实际来看

k_touch()函数是主要代码,目前主要涉及三个事件,touchstart  touchmove  touchend

这里获取touch点坐标是用pageX,pageY 当然不兼容的话先不考虑

因为是下滑才刷新,所以稍微控制一下way,其实也就是通过这个控制是获取pageX 还是pageY

滑一滑可以直接看到dist的变化,其实就把它看做px了吧

js仿手机页面文件下拉刷新效果

更多的功能,以后再说吧..

<script type="text/javascript">
 //第一步:下拉过程
 function slideDownStep1(dist){ // dist 下滑的距离,用以拉长背景模拟拉伸效果
  var slideDown1 = document.getElementById("slideDown1"),
   slideDown2 = document.getElementById("slideDown2");
  slideDown2.style.display = "none";
  slideDown1.style.display = "block";
  slideDown1.style.height = (parseInt("20px") - dist) + "px";
 }
 //第二步:下拉,然后松开,
 function slideDownStep2(){ 
  var slideDown1 = document.getElementById("slideDown1"),
   slideDown2 = document.getElementById("slideDown2");
  slideDown1.style.display = "none";
  slideDown1.style.height = "20px";
  slideDown2.style.display = "block";
  //刷新数据
  //location.reload();
 }
 //第三步:刷新完成,回归之前状态
 function slideDownStep3(){ 
  var slideDown1 = document.getElementById("slideDown1"),
   slideDown2 = document.getElementById("slideDown2");
  slideDown1.style.display = "none";
  slideDown2.style.display = "none";
 }

 //下滑刷新调用
 k_touch("content","y");
 //contentId表示对其进行事件绑定,way==>x表示水平方向的操作,y表示竖直方向的操作
 function k_touch(contentId,way){ 
  var _start = 0,
   _end = 0,
   _content = document.getElementById(contentId);
  _content.addEventListener("touchstart",touchStart,false);
  _content.addEventListener("touchmove",touchMove,false);
  _content.addEventListener("touchend",touchEnd,false);
  function touchStart(event){ 
   //var touch = event.touches[0]; //这种获取也可以,但已不推荐使用

   var touch = event.targetTouches[0];
   if(way == "x"){ 
    _start = touch.pageX;
   }else{ 
    _start = touch.pageY;
   }
  }
  function touchMove(event){ 
   var touch = event.targetTouches[0];
   if(way == "x"){ 
    _end = (_start - touch.pageX);
   }else{ 
    _end = (_start - touch.pageY);
    //下滑才执行操作
    if(_end < 0){
     slideDownStep1(_end);
    }
   }

  }
  function touchEnd(event){ 
   if(_end >0){ 
    console.log("左滑或上滑 "+_end);
   }else{ 
    console.log("右滑或下滑"+_end);
    slideDownStep2();
    //刷新成功则
    //模拟刷新成功进入第三步
    setTimeout(function(){ 
     slideDownStep3();
    },2500);
   }
  }
 }
</script>

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

Javascript 相关文章推荐
javascript实现图片延迟加载方法汇总(三种方法)
Aug 27 Javascript
jQuery使用ajax跨域获取数据的简单实例
May 18 Javascript
简单实现jQuery多选框功能
Jan 09 Javascript
学好js,这些js函数概念一定要知道【推荐】
Jan 19 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
Jul 24 Javascript
JavaScript与Java正则表达式写法的区别介绍
Aug 15 Javascript
js 毫秒转天时分秒的实例
Nov 17 Javascript
JS实现网页抢购功能(触发,终止脚本)
Nov 27 Javascript
angularjs $http调用接口的方式详解
Aug 13 Javascript
jQuery动态操作表单示例【基于table表格】
Dec 06 jQuery
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
Jul 26 Javascript
React冒泡和阻止冒泡的应用详解
Aug 18 Javascript
前端js实现文件的断点续传 后端PHP文件接收
Oct 14 #Javascript
js关于getImageData跨域问题的解决方法
Oct 14 #Javascript
AngularJS 与Bootstrap实现表格分页实例代码
Oct 14 #Javascript
深入学习js瀑布流布局
Oct 14 #Javascript
微信小程序 地图定位简单实例
Oct 14 #Javascript
Bootstrap作品展示站点实战项目2
Oct 14 #Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
Oct 14 #Javascript
You might like
地球防卫队:陪着奥特曼打小怪兽的人类力量 那些经典队服
2020/03/08 日漫
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
php数组排序usort、uksort与sort函数用法
2014/11/17 PHP
Javascript日期对象的dateAdd与dateDiff方法
2008/11/18 Javascript
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
2013/12/26 Javascript
JavaScript中的prototype.bind()方法介绍
2014/04/04 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
jquery实现兼容IE8的异步上传文件
2015/06/15 Javascript
javascript定义类和类的实现实例详解
2015/12/01 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
2016/03/01 Javascript
微信小程序 基础组件与导航组件详细介绍
2017/02/21 Javascript
VuePress 快速踩坑小结
2019/02/14 Javascript
JS中实现浅拷贝和深拷贝的代码详解
2019/06/05 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
Python代理抓取并验证使用多线程实现
2013/05/03 Python
python读取浮点数和读取文本文件示例
2014/05/06 Python
Python入门篇之对象类型
2014/10/17 Python
详解Django缓存处理中Vary头部的使用
2015/07/24 Python
举例讲解Python设计模式编程中的访问者与观察者模式
2016/01/26 Python
使用keras实现Precise, Recall, F1-socre方式
2020/06/15 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
HTML5拖拽的简单实例
2016/05/30 HTML / CSS
团员的自我评价
2013/12/01 职场文书
地球一小时倡议书
2014/04/15 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
办公室主任岗位承诺书
2014/05/29 职场文书
2014学习优秀共产党员先进事迹材料思想汇报
2014/09/14 职场文书
党的群众路线教育实践活动心得体会(企业)
2014/11/03 职场文书
2014年学前班工作总结
2014/12/08 职场文书
图书借阅制度范本
2015/08/06 职场文书
月考总结与反思
2015/10/22 职场文书
Python利用capstone实现反汇编
2022/04/06 Python
部分武汉产收音机展览
2022/04/07 无线电