温馨提示×

温馨提示×

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

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

如何基于JavaScript实现无缝滚动效果

发布时间:2021-04-13 14:22:53 来源:亿速云 阅读:169 作者:小新 栏目:web开发

这篇文章主要介绍如何基于JavaScript实现无缝滚动效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

  • 首先应该区分样式中的绝对定位和相对定位,一般来说,移动的单位为绝对定位,在这个实例中,移动的Ul就是绝对定位 ,否则它根本无法滚动,而它相对于div1滚动 ,则div1就作为他的相对定位。

  • oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;这段代码是实现无缝滚动的核心,使之可以在不论左右滚动的时候都有下一步图片接上去。

  • 在操作或者进行比较的时候,都要用offset取值来进行操作或者比较!!!

代码:

<!DOCTYPE html> <html lang="en"> <head>  <meta charset="UTF-8">  <title>无缝滚动2</title>  <style type="text/css">   *{   padding: 0;   margin:0;  }  #div1{   position: relative;   width: 800px;   height: 200px;   background:red;   margin:100px auto;   overflow: hidden;  }  #div1 ul{   position: absolute;   left: 0;   top: 0;  }  #div1 ul li{   float: left;   list-style: none;   width: 200px;   height: 200px;  }  </style>  <script type="text/javascript">  window.onload=function()  {   var oDiv = document.getElementById('div1');   var oUl = oDiv.getElementsByTagName('ul')[0];   var aLi = oDiv.getElementsByTagName('li');   var aA = document.getElementsByTagName('a');   var speed = 3;   oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;   oUl.style.width=aLi.length*aLi[0].offsetWidth+'px';   var timer=setInterval(move,30);   function move()   {     if (oUl.offsetLeft<=-oUl.offsetWidth/2) {     oUl.style.left="0";     }      if(oUl.offsetLeft>0){      oUl.style.left=-oUl.offsetWidth/2+'px';     }     oUl.style.left=oUl.offsetLeft+speed+'px';   };   oDiv.onmouseover=function()   {    clearInterval(timer);   };   oDiv.onmouseout=function()   {    timer=setInterval(move,30);   };   aA[0].onclick=function()   {    speed=-3;   };   aA[1].onclick=function()   {    speed=3;   };  };  </script> </head> <body>  <a href="javascript:;">向左</a>  <a href="javascript:;">向右</a>  <div id="div1">   <ul>    <li><img src="images/n1.jpg"></li>    <li><img src="images/n2.jpg"></li>    <li><img src="images/n3.jpg"></li>    <li><img src="images/n4.jpg"></li>   </ul>  </div> </body> </html>

以上是“如何基于JavaScript实现无缝滚动效果”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

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

js
AI