您好,欢迎访问一九零五行业门户网

JS做出移动端触摸轮播效果

这次给大家带来js做出移动端触摸轮播效果,js做出移动端触摸轮播效果的注意事项有哪些,下面就是实战案例,一起来看一下。
下面是移动端手指滑动轮播图的完整代码。
<!doctype html>  <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <style> *{margin:0;padding:0;} li{list-style:none;} .lb{width:320px;height:130px;position:relative;margin:20px auto;overflow: hidden;} .lb .lb_img{width:2240px;height:130px;position:absolute;left:-320px;} .lb .lb_img img{width:320px;height:130px;float:left;display:block;} .lb ul{width:35px;height:4px;position:absolute;bottom:10px;left:50%;margin-left:-15px;} .lb ul li{width:4px;height:4px;border-radius:2px;border:0.25px solid #fff;margin-left:2.5px;background:#666;float:left;cursor:pointer;} .lb ul .active{background:#fff;} .lb ul li:hover{background:#fff;} </style> </head> <body> <p class="lb"> <p class="lb_img"> <img src="img/4.jpg"> <img src="img/0.jpg"> <img src="img/1.jpg"> <img src="img/2.jpg"> <img src="img/3.jpg"> <img src="img/4.jpg"> <img src="img/0.jpg"> </p> <ul> <li class="active"></li> <li></li> <li></li> <li></li> <li></li> </ul> </p> <script> var lb = document.queryselector(.lb); var lb_img = document.queryselector(.lb .lb_img); var img = document.queryselectorall(.lb .lb_img img) var lis = document.queryselectorall(.lb ul li); var i=2;  // 初始化手指坐标点  var startpoint = 0;  var startele = 0;  //手指按下  lb.addeventlistener(touchstart,function(e){  startpoint = e.changedtouches[0].pagex;  startele = lb_img.offsetleft;  clearinterval(time)  });    //手指滑动  lb.addeventlistener(touchmove,function(e){  var currpoint = e.changedtouches[0].pagex;   var disx = currpoint - startpoint;  var left = startele + disx;  lb_img.style.left = left + px;   });  //当手指抬起的时候,  lb.addeventlistener(touchend,function(e){   var currpoint = e.changedtouches[0].pagex;   var disx = - (currpoint - startpoint);  var left = startele + disx;  if(disx > 150){   i++;   for(var q=0;q<lis.length;q++){ lis[q].classname = ''; } if(i == 7){ i=2; } lis[i-2].classname= "active" ; lb_img.style.left = -320*(math.round(disx/320)+i+1)+ 'px'; }else{ lb_img.style.left = -320*(i-1) + "px"; } if(disx < -150){ i--; for(var q=0;q<lis.length;q++){ lis[q].classname = ''; } if(i == 1){ i=6; } lis[i-2].classname= "active" ; lb_img.style.left = -320*(math.round(-disx/320)+i-2) + 'px'; }else{ lb_img.style.left = -320*(i-1) + "px"; } time=setinterval(autoplay,2000); }) //设置定时器 time=setinterval(autoplay,2000); function autoplay(){ i++; for(var q=0;q<lis.length;q++){ lis[q].classname = ''; } if(i == 7){ i=2; } lis[i-2].classname= "active" ; for(var a=0; a<320;a++){ settimeout(function(){ var left = lb_img.style.left ? lb_img.style.left : "-320px"; left = parseint(left)-1; if(left<-1920){ left=-321; } lb_img.style.left = left + "px"; },a); } } </script> </body> </html>
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
怎样操作jackson解析json字符串时首字母的大小写转换
element-ui实现导入导出
以上就是js做出移动端触摸轮播效果的详细内容。
其它类似信息

推荐信息