随便打开一个网页,基本上都会看到无缝滚动或者轮播图,比如淘宝还有360官网的首页
观察这些轮播图可以发现图片可以来回循环地切换,那么是怎样做到的呢?
做到轮播图或者说无缝滚动主要有两种方式,一种是通过对图片的明暗即透明图的改变来显示或隐藏图片,另一种是通过运动框架,将图片显示在可视区域。这两种方式都会用到同一个东西,那就是定时器。
JavaScript中的定时器有两种,1.setInterval();2.setTimeout();相对应的关闭定时器也有两种方法,clearInterval()和clearTimeout()。两种定时器的区别是前者可以执行多次,而后者只执行一次。
这次只说无缝滚动,下篇介绍轮播图。
实现简单的无缝滚动的代码如下:
/*完整的代码*/ <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <style> div{position:relative;width:630px;height:220px;border:solid 2px black;overflow:hidden;} ul{position:absolute;top:10px;left:0;} img{width:200px;height:200px;float:left;margin-right:10px;border:2px solid yellow;} li{list-style:none;margin:0;padding:0;} ul{margin:0;padding:0;} </style> <script> window.onload=function(){ var oUl=document.getElementById("main"); var aLi=oUl.getElementsByTagName("img"); var oInput=document.getElementsByTagName("input")[0]; oUl.innerHTML+=oUl.innerHTML; oUl.style.width=aLi.length*aLi[0].offsetWidth+"px"; var timer=null; setInterval(function(){ oUl.style.left=oUl.offsetLeft-8+"px"; if(oUl.offsetLeft<-oUl.offsetWidth/2){ oUl.style.left="0px"; } },30); }; </script> </head> <body> <div> <ul id="main"> <li><img src="/UploadFiles/2021-04-02/1.jpg">/-----------------------------------------------------------------------------------------------------------------------------------------------------------/
无缝滚动的布局比较简单,下面主要讲解JS部分内容:
首先分别获取到ul和li,再将ul里面的内容复制一份,通过js动态修改ul的宽度(如果要做到上下无缝滚动,则修改其宽度),最后开定时器,代码中是每隔30微秒ul向左移动8个像素,而当ul的可视左边距小于ul总长度的一半时,使其变为0。由于计算机的运行速度非常快,所以几乎感觉不到这一变化。我们看到的只是图片不断地向左移动,无休止的运动。
以上所述是小编给大家介绍的关于网页中的无缝滚动的js代码,希望对大家有所帮助!
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月18日
2024年11月18日
- 曾庆瑜1990-随风而逝[日本东芝1A1首版][WAV+CUE]
- 群星.2015-凭着爱ADMS2CD【华纳】【WAV+CUE】
- 陈冠希.2017-一只猴子3部曲【摩登天空】【WAV+CUE】
- 金元萱.1996-迷迷糊糊【宝丽金】【WAV+CUE】
- 齐秦《燃烧爱情》马来西亚版[WAV+CUE][1G]
- 动力火车《结伴》2024最新 [FLAC分轨][1G]
- 郑源《擦肩而过》[WAV+CUE][1.2G]
- 黑鸭子2008-江南四月天[首版][WAV+CUE]
- 黑鸭子2008-再醉一次·精选[首版][WAV+CUE]
- Elgar-Motdamour-UlfWallin,RolandPontinen(2024)[24bit-96kHz]FLAC
- 苏永康《 笑下去》 新曲+精选[WAV+CUE][1G]
- 周传雄《发觉》[WAV+CUE][1.1G]
- 证声音乐图书馆《真夏派对 x 浩室》[320K/MP3][67.19MB]
- 张镐哲.1994-无助【波丽佳音】【WAV+CUE】
- Relic.2024-浮在虛无的诗意【SEEAHOLE】【FLAC分轨】