1.判断滑动的手势条件
- 触发touchmove事件
- 移动的超过一定的距离,如10px, 像滑动了1px,2px这类的距离太小,不能视为滑动
-
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 7 <title>Document</title> 8 <style> 9 *{ 10 margin: 0; 11 padding: 0; 12 } 13 .box{ 14 width: 200px; 15 height: 200px; 16 background-color: hotpink; 17 } 18 </style> 19 </head> 20 <body> 21 <div class="box"> 22 23 </div> 24 </body> 25 26 <script> 27 28 window.onload = function(){ 29 var bindSwiperEvent = function(dom, leftCallBack, rightCallback){ 30 // 判断手势的条件 31 // 必须滑动 滑动距离超过10px 32 var isMove = false; 33 var startX = 0; 34 var distanceX = 0; 35 36 dom.addEventListener( 'touchstart', function(e){ 37 startX = e.touchs[0].clientX; 38 }) 39 40 dom.addEventListener('touchmove', function(e){ 41 isMove = true; 42 var moveX = e.touchs[0].clientX; 43 distanceX = moveX - startX; 44 }) 45 46 dom.addEventListener('touchend',function(e){ 47 if(isMove && Math.abs(distanceX >= 10)){ 48 // 右滑动 49 if(distanceX>0){ 50 rightCallback && rightCallback.call(this,e); 51 } 52 // 左滑动 53 else{ 54 leftCallBack && leftCallBack.call(this,e); 55 } 56 } 57 // 重置参数 58 isMove = false; 59 startX = 0; 60 distanceX = 0; 61 }) 62 } 63 64 bindSwiperEvent( document.querySelector('.box'), function(e){ 65 console.log('左滑动') 66 }, function(e){ 67 console.log('右滑动') 68 } ) 69 } 70 </script> 71 72 </html>
-
第一个超实用的移动端触摸滑动js插件:Swiper中文网
开源、免费、强大的移动端触摸滑动插件—swiper.min.js
-
Swiper(Swiper master)是目前应用较广泛的移动端网页触摸内容滑动js插件。
Swiper中文网提供Swiper在线演示、Swiper中文教程、Swiper中文APi、Swiper下载。
同时Swiper也是目前公认的最好的移动触摸滑动插件。
官网地址:http://www.swiper.com.cn/
移动端的DEMO演示地址:http://www.swiper.com.cn/demo/senior/index.html
-
第二个超实用的移动端触摸滑动js插件:TouchSlide
TouchSlide 是纯javascript打造的触屏滑动特效插件,面向手机、平板电脑等移动终端,
能实现触屏焦点图、触屏Tab切换、触屏多图切换等常用效果。也是大话主席 superslide旗下的一款移动端触摸滑动插件。superslide也是PC端优秀的js特性插件。
-
-
第三个超实用的移动端触摸滑动js插件:iSlider
iSlider是一个表现出众,无任何插件依赖的手机平台javascript滑动组件。它能够处理任何元素,例如图片或者DOM元素。是百度团队开发完成的。
-
使用和DEMO演示地址:http://be-fe.github.io/iSlider/demo/index_chinese.html
同时-iSlider也是目前最 轻量、高性能的移动滑动方案。 值得大家去研究和使用。