js模拟手机页面文件的下拉刷新

老总说需要这个功能,好吧那就看看相关的东西呗

十余年的镜湖网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整镜湖建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“镜湖网站设计”,“镜湖网站推广”以来,每个客户项目都认真落实执行。

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

查看 demo

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

主要就是:

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

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.  
  7.  
  8.  
  9.      
  10.          
  11.              
  12.                 

    松开刷新

     
  13.             
 
  •              
  •                 

    正在刷新 ...

     
  •             
  •  
  •         
  •  
  •          
  •              
  •          
  •      
  •  

    js部分:

    主要就是

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

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

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

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

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

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

     
     
    1.  
    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.         //刷新数据 
    18.         //location.reload(); 
    19.     } 
    20.     //第三步:刷新完成,回归之前状态 
    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.     //下滑刷新调用 
    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.                 //下滑才执行操作 
    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.      

    小尾巴一摆就是一个季节!

    当前名称:js模拟手机页面文件的下拉刷新
    地址分享:http://www.shufengxianlan.com/qtweb/news49/118999.html

    网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

    广告

    声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

    猜你还喜欢下面的内容

    用户体验知识

    行业网站建设