zepto 滑动事件

  这几天再做一个移动端微官网,用到的是zepto框架,踩了几个小坑,以此记录一下,强化一下记忆。

  首先,官网提供的文件只包含部分模块。如果你发现自己的触发事件不能触发或者animate()方法等不能实现的话,那说明你没有引入实现该功能的模块,自己去官网下载下并引入就可以了。

  然后要说的是zepto的滑动事件,经测试,其提供的事件在uc和微信里不能被触发。

  解决方法:

 1 /**
 2 * 第一个参数为要滑动的元素
 3 * 第二个参数为方向  * 第三个参数为滑动后要执行的函数
 4 */
 5 function swipe(dom,dir,fun) {
 6     var startX,
 7         startY,
 8         endX,
 9         endY,
10         door;
11     dom.addEventListener('touchstart', touchStart, false);
12     dom.addEventListener('touchmove', touchMove, false);  
13     dom.addEventListener('touchend', function(event){
14         if(door){
15         //判断滑动方向
16             switch(dir){
17                 case 'left':if (endX- startX < 0) {
18                     fun();
19                 }             break;
20                 case 'right':if(endX-startX > 0){
21                     fun();
22                 }
23                 break;
24                 case 'top':if(endY-startY < 0){
25                     fun();
26                 }
27                 break;
28                 case 'bottom':if(endY-startY > 0){
29                     fun();
30                 }
31                 break;
32             }
33         }
34         door = false;
35     }, false); 
36     function touchStart(event){
37         var touch = event.touches[0]; //获取第一个触点  
38         startX = Number(touch.pageX); //页面触点X坐标  
39         startY = Number(touch.pageY); //页面触点Y坐标 
40     }     
41     function touchMove(event){
42         touch = event.touches[0];
43         endX = Number(touch.pageX);
44         endY = Number(touch.pageY);
45         door = true;
46     } 
47 }
48 //举例
49 swipe(document,"right",function(){
50  console.log("向右滑动");
51 });

 

 

 

  

转载于:https://www.cnblogs.com/huyawei/p/5003344.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值