温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

原生javascript如何实现移动端滑动banner效果

发布时间:2021-06-29 09:47:49 来源:亿速云 阅读:123 作者:小新 栏目:web开发

这篇文章给大家分享的是有关原生javascript如何实现移动端滑动banner效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

具体内容如下

<!DOCTYPE html> <html lang="en"> <head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">  <meta name="apple-mobile-web-app-capable" content="yes">  <meta content="telephone=yes" name="format-detection" />  <meta name="apple-mobile-web-app-status-bar-style" content="white">  <meta name="x5-fullscreen" content="true">  <meta name="apple-touch-fullscreen" content="yes">  <title>Document</title>  <style>   *{margin:0;padding:0;}   .box{    height:200px;    width:100%;    overflow: hidden;   }   .movebox{    height:200px;    width:9000px;    padding:0;    position:relative;    left:0;   }   .movebox li{    height:200px;    float:left;    list-style:none;    font-size:30px;    color:#fff;   }  </style>  <script>   window.onload = function(){    var moveX,  //手指滑动距离     endX,  //手指停止滑动时X轴坐标     cout = 0, //滑动计数器     moveDir; //滑动方向    var movebox = document.querySelector(".movebox"); //滑动对象    var Li = movebox.querySelectorAll("li"); //滑动对象item    var width = parseInt(window.getComputedStyle(movebox.parentNode).width); //滑动对象item的宽度    movebox.style.width = (width*4) + "px"; //设置滑动盒子width    for(var i = 0; i < Li.length; i++){     Li[i].style.width = width + "px"; //设置滑动item的width,适应屏幕宽度    }    //触摸开始    function boxTouchStart(e){     var touch = e.touches[0]; //获取触摸对象     startX = touch.pageX; //获取触摸坐标     endX = parseInt(movebox.style.webkitTransform.replace("translateX(", "")); //获取每次触摸时滑动对象X轴的偏移值    }    function boxTouchMove(e){     var touch = e.touches[0];     moveX = touch.pageX - startX; //手指水平方向移动的距离     if(cout == 0 && moveX > 0){  //刚开始第一次向左滑动时      return false;     }     if(cout == 3 && moveX < 0){  //滑动到最后继续向右滑动时      return false;     }     movebox.style.webkitTransform = "translateX(" + (endX + moveX) + "px)"; //手指滑动时滑动对象随之滑动    }    function boxTouchEnd(e){     moveDir = moveX < 0 ? true : false;  //滑动方向大于0表示向左滑动,小于0表示向右滑动     //手指向左滑动     if(moveDir){      if(cout<3){       movebox.style.webkitTransform = "translateX(" + (endX-width) + "px)";       cout++;      }     //手指向右滑动     }else{      //滑动到初始状态时返回false      if(cout == 0){       return false;      }else{       movebox.style.webkitTransform = "translateX(" + (endX+width) + "px)";       cout--;      }     }    }    //滑动对象事件绑定    movebox.addEventListener("touchstart", boxTouchStart, false);    movebox.addEventListener("touchmove", boxTouchMove, false);    movebox.addEventListener("touchend", boxTouchEnd, false);   }  </script> </head> <body >  <div class="box">   <ul class="movebox" >    <li >1</li>    <li >2</li>    <li >3</li>    <li >4</li>   </ul>  </div> </body> </html>

感谢各位的阅读!关于“原生javascript如何实现移动端滑动banner效果”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI