国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js仿手機頁面文件下拉刷新效果

2019-11-20 08:45:05
字體:
供稿:網(wǎng)友

最后弄出了一個簡單的下拉刷新頁面的形式,還不算太復(fù)雜

要在仿真器下才能看到效果,比如chrome的里邊(或者用手機瀏覽器查看,但測試發(fā)現(xiàn)有些瀏覽器有問題,目前手機獵豹是沒問題的)

主要就是:

下拉-->提示松開刷新-->松開后-->開始刷新-->刷新成功后還原

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部分:

主要就是為一個節(jié)點綁定事件,可以是整個body,按照實際來看

k_touch()函數(shù)是主要代碼,目前主要涉及三個事件,touchstart  touchmove  touchend

這里獲取touch點坐標(biāo)是用pageX,pageY 當(dāng)然不兼容的話先不考慮

因為是下滑才刷新,所以稍微控制一下way,其實也就是通過這個控制是獲取pageX 還是pageY

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

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

<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";  //刷新數(shù)據(jù)  //location.reload(); } //第三步:刷新完成,回歸之前狀態(tài) function slideDownStep3(){   var slideDown1 = document.getElementById("slideDown1"),   slideDown2 = document.getElementById("slideDown2");  slideDown1.style.display = "none";  slideDown2.style.display = "none"; } //下滑刷新調(diào)用 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);    //下滑才執(zhí)行操作    if(_end < 0){     slideDownStep1(_end);    }   }  }  function touchEnd(event){    if(_end >0){     console.log("左滑或上滑 "+_end);   }else{     console.log("右滑或下滑"+_end);    slideDownStep2();    //刷新成功則    //模擬刷新成功進入第三步    setTimeout(function(){      slideDownStep3();    },2500);   }  } }</script>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 如东县| 丘北县| 白山市| 从化市| 关岭| 双鸭山市| 泸溪县| 青海省| 宜丰县| 防城港市| 紫金县| 惠东县| 滁州市| 东宁县| 宣武区| 蒙城县| 淄博市| 泾源县| 丰城市| 崇信县| 庐江县| 那坡县| 西乌| 镶黄旗| 崇明县| 光泽县| 济宁市| 双鸭山市| 龙口市| 游戏| 团风县| 桑植县| 沙坪坝区| 类乌齐县| 屯门区| 平阳县| 且末县| 南投县| 巴彦淖尔市| 汝城县| 杭锦后旗|