<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<meta name="viewport" content="initial-scale=1, user-scalable=0, minimal-ui" charset="UTF-8">
<style type="text/css">
*{margin: 0;padding:0}
#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> </head>
<body> <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>
<script>
//第一步:下拉过程
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>
</body>
</html>

  

最新文章

  1. python-进程&amp;线程
  2. zend studio 13.5破解以及集成xdebug
  3. github Android-Universal-Image-Loader
  4. Java项目打包部署war文件
  5. 《K&amp;R》中引用的几个排序算法(shellsort、)以及一个自己乱写的排序
  6. Animation Spinner【项目】
  7. C#中默认的修饰符
  8. dubbo 运行过程
  9. 解决Chrome动画”卡顿”的办法
  10. tomcat 和 jboss access log 日志输出详解
  11. Ubuntu使用总结一
  12. WebLogic Server添加删除补丁操作【转】【补】
  13. 2018.12.17 bzoj1406 : [AHOI2007]密码箱(简单数论)
  14. SNS网站的用户流失率怎么会高得如此惊人?
  15. 小行星碰撞 Asteroid Collision
  16. Virus
  17. BZOJ2806:[CTSC2012]Cheat(广义SAM,二分,DP)
  18. SpringCloud--注册中心Eureka
  19. 31、Flask实战第31天:cms后台修改密码
  20. Javascript作用域详解。

热门文章

  1. [BZOJ] 5415: [Noi2018]归程
  2. 到底该如何理解DevOps这个词
  3. 05tar命令详解
  4. quartz 任务调度
  5. python入门:while 循环的基本用法
  6. 怎么删除服务中的mysql服务
  7. 在WIN2008R2的IIS7环境下安装PHP5.6.15
  8. Thinkhphp5控制器调用的Model层的方法总结
  9. python中字典的‘增、删、改、查’
  10. SQL登录注册练习