自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

js 模擬手機頁面文件的下拉刷新

開發(fā) 前端
js 模擬手機頁面文件的下拉刷新初探
老總說需要這個功能,好吧那就看看相關(guān)的東西唄

***弄出了一個簡單的下拉刷新頁面的形式,還不算太復雜

查看 demo

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

js 模擬手機頁面文件的下拉刷新

js 模擬手機頁面文件的下拉刷新

js 模擬手機頁面文件的下拉刷新

js 模擬手機頁面文件的下拉刷新

主要就是:

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

 

html,css部分

  1. style type="text/css"
  2.     #slideDown{margin-top: 0;width: 100%;} 
  3.          #slideDown1,#slideDown2{width: 100%;height: 70px;;background: #e9f4f7;display: none;} 
  4.          #slideDown1{height: 20px;} 
  5.          #slideDown1>p,#slideDown2>p{margin: 20px auto;text-align:center;font-size: 14px;color: #37bbf5;} 
  6. </style> 
  7.  
  8.  
  9.     <div id="content"
  10.         <div id="slideDown"
  11.             <div id="slideDown1"
  12.                 <p>松開刷新</p> 
  13.             </div> 
  14.             <div id="slideDown2"
  15.                 <p>正在刷新 ...</p> 
  16.             </div> 
  17.         </div> 
  18.         <div class="myContent"
  19.             <ul> 
  20.                 <li>item1 -- item1 -- item1</li> 
  21.                 <li>item2 -- item2 -- item2</li> 
  22.                 <li>item3 -- item3 -- item3</li> 
  23.                 <li>item4 -- item4 -- item4</li> 
  24.                 <li>item5 -- item5 -- item5</li> 
  25.                 <li>item6 -- item6 -- item6</li> 
  26.                 <li>item7 -- item7 -- item7</li> 
  27.             </ul> 
  28.         </div> 
  29.     </div> 

 

 

js部分:

主要就是

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

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

這里獲取touch點坐標是用pageX,pageY 當然不兼容的話先不考慮

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

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

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

  1. <script type="text/javascript"
  2.     //***步:下拉過程 
  3.     function slideDownStep1(dist){  // dist 下滑的距離,用以拉長背景模擬拉伸效果 
  4.         var slideDown1 = document.getElementById("slideDown1"), 
  5.             slideDown2 = document.getElementById("slideDown2"); 
  6.         slideDown2.style.display = "none"
  7.         slideDown1.style.display = "block"
  8.         slideDown1.style.height = (parseInt("20px") - dist) + "px"
  9.     } 
  10.     //第二步:下拉,然后松開, 
  11.     function slideDownStep2(){  
  12.         var slideDown1 = document.getElementById("slideDown1"), 
  13.             slideDown2 = document.getElementById("slideDown2"); 
  14.         slideDown1.style.display = "none"
  15.         slideDown1.style.height = "20px"
  16.         slideDown2.style.display = "block"
  17.         //刷新數(shù)據(jù) 
  18.         //location.reload(); 
  19.     } 
  20.     //第三步:刷新完成,回歸之前狀態(tài) 
  21.     function slideDownStep3(){  
  22.         var slideDown1 = document.getElementById("slideDown1"), 
  23.             slideDown2 = document.getElementById("slideDown2"); 
  24.         slideDown1.style.display = "none"
  25.         slideDown2.style.display = "none"
  26.     } 
  27.  
  28.     //下滑刷新調(diào)用 
  29.     k_touch("content","y"); 
  30.     //contentId表示對其進行事件綁定,way==>x表示水平方向的操作,y表示豎直方向的操作 
  31.     function k_touch(contentId,way){  
  32.         var _start = 0, 
  33.             _end = 0, 
  34.             _content = document.getElementById(contentId); 
  35.         _content.addEventListener("touchstart",touchStart,false); 
  36.         _content.addEventListener("touchmove",touchMove,false); 
  37.         _content.addEventListener("touchend",touchEnd,false); 
  38.         function touchStart(event){  
  39.             //var touch = event.touches[0]; //這種獲取也可以,但已不推薦使用 
  40.  
  41.             var touch = event.targetTouches[0]; 
  42.             if(way == "x"){  
  43.                 _start = touch.pageX; 
  44.             }else{  
  45.                 _start = touch.pageY; 
  46.             } 
  47.         } 
  48.         function touchMove(event){  
  49.             var touch = event.targetTouches[0]; 
  50.             if(way == "x"){  
  51.                 _end = (_start - touch.pageX); 
  52.             }else{  
  53.                 _end = (_start - touch.pageY); 
  54.                 //下滑才執(zhí)行操作 
  55.                 if(_end < 0){ 
  56.                     slideDownStep1(_end); 
  57.                 } 
  58.             } 
  59.  
  60.         } 
  61.         function touchEnd(event){  
  62.             if(_end >0){  
  63.                 console.log("左滑或上滑  "+_end); 
  64.             }else{  
  65.                 console.log("右滑或下滑"+_end); 
  66.                 slideDownStep2(); 
  67.                 //刷新成功則 
  68.                 //模擬刷新成功進入第三步 
  69.                 setTimeout(function(){  
  70.                     slideDownStep3(); 
  71.                 },2500); 
  72.             } 
  73.         } 
  74.     } 
  75.     </script> 

小尾巴一擺就是一個季節(jié)!

責任編輯:王雪燕 來源: 博客園
相關(guān)推薦

2020-10-09 14:02:57

JS模擬監(jiān)控頁面FPS

2015-03-26 13:14:53

javascriptjs callback實現(xiàn)調(diào)用

2015-04-22 10:57:22

androidSwipeRefres

2012-03-28 22:16:54

蘋果

2016-08-05 17:01:09

AndroidRecyclerVie下拉刷新

2015-03-23 18:11:39

UITableViewswift下拉刷新

2023-06-12 15:37:38

鴻蒙ArkUI

2021-09-02 10:00:42

鴻蒙HarmonyOS應(yīng)用

2021-12-01 10:02:57

鴻蒙HarmonyOS應(yīng)用

2024-07-02 10:00:55

2013-07-17 16:33:02

下拉刷新listvie滾動到底部加載Android開發(fā)學習

2020-08-28 09:39:21

手機屏幕屏幕刷新率高刷新率

2009-06-11 10:35:49

圖像下拉列表imgdiv

2012-05-22 11:15:37

jQuery

2021-03-12 16:25:17

技巧vue頁面刷新

2017-10-17 15:40:25

javascript刷新頁面

2012-08-14 14:00:21

JavaScript

2012-03-02 09:37:53

Ajax

2015-03-19 10:12:36

下拉刷新開源組件

2009-07-31 08:56:59

ASP.NET頁面刷新
點贊
收藏

51CTO技術(shù)棧公眾號