主要就是:
下拉-->提示松开刷新-->松开后-->开始刷新-->刷新成功后还原
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部分:
<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>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。