你的位置:首页 > Java教程

[Java教程]原生javascript实现的水平图片无缝滚动效果


原生javascript实现的水平图片无缝滚动效果:
图片水平无缝滚动效果在大量的网站都有应用,特别是一些企业网站在展示产品的时候,因为是动态效果,所以能够给网站增色不少,相比静态图片展示更能够吸引用户的注意力,下面就通过实例代码介绍一下如何实现此效果。
代码如下:

<!DOCTYPE html><html><head><meta charset=" utf-8"><meta name="author" content="http://www.softwhy.com/" /><title>蚂蚁部落</title><style type="text/css"> #demo{  background:#FFF;  overflow:hidden;  border:1px dashed #CCC;  width:500px; } #indemo{ float:left; width:2000px;} #indemo a{ width:100px; height:100px; float:left; background-color:blue; margin-left:5px; text-align:center; line-height:100px; color:red; text-decoration:none;}#demo1{float:left;} #demo2{float:left;} </style><script type="text/javascript"> window.onload=function(){ var speed=10;  var tab=document.getElementById("demo");  var tab1=document.getElementById("demo1");  var tab2=document.getElementById("demo2");  tab2.innerHTML=tab1.innerHTML;  function Marquee(){   if(tab2.offsetWidth-tab.scrollLeft<=0){   tab.scrollLeft-=tab1.offsetWidth   }   else{    tab.scrollLeft++;   }  }  var MyMar=setInterval(Marquee,speed);  tab.onmouseover=function() {clearInterval(MyMar)};  tab.onmouseout=function() {MyMar=setInterval(Marquee,speed)}; } </script></head><body><div id="demo"> <div id="indemo">  <div id="demo1">    <a href="#">蚂蚁部落一</a>    <a href="#">蚂蚁部落二</a>    <a href="#">蚂蚁部落三</a>    <a href="#">蚂蚁部落四</a>    <a href="#">蚂蚁部落五</a>    <a href="#">蚂蚁部落六</a>   </div>  <div id="demo2"></div> </div></div></body></html>

以上代码实现了我们要求,为了掩饰方便,将图片替换为文字,实际应用中,只要稍加修改就可以了,代码很简单,但是对于初学者来说可能就有点麻烦,下面就对它做一下注释。
一.代码注释:
1.window.onload=function(){},当文档内容完全加载完毕再去执行函数中的代码。
2.var speed=10,设置滚动的速度,值越小速度越快。
3.var tab=document.getElementById("demo"),根据id属性值获取对象。
4.tab2.innerHTML=tab1.innerHTML,复制一份内容给tab2.
5.function Marquee(){},此函数是滚动的核心实现。
6.if(tab2.offsetWidth-tab.scrollLeft<=0){tab.scrollLeft-=tab1.offsetWidth } ,判断向左滚动的尺寸是否小于等于tab2或者tab1的宽度,如果小于等于,则说明一个完整的图片队列滚动完毕,这个时候是tab2的接续在tab1的后面,这个时候重新设置tab.scrollLeft为0,也就是重新开始滚动,这样就实现了无缝滚动效果。
二.相关阅读:
1.innerHTML属性可以参阅js的innerHTML属性的用法一章节。 
2.offsetWidth属性可以参阅scrollTop、offsetHeight和offsetTop等属性用法详解一章节。 
3.scrollLeft属性可以参阅offsetLeft、clientLeft和scrollLeft等属性的用法一章节。 
4.setInterval()函数可以参阅setInterval()函数用法详解一章节。
5.clearInterval()函数可以参阅window对象的clearInterval()方法一章节。  

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=11997

更多内容可以参阅:http://www.softwhy.com/javascript/




印度尼西亚旅游路线印度尼西亚旅游多少钱跟团印度尼西亚旅游网印度尼西亚特价旅游印度尼西亚旅游时间金子山杜鹃花最佳观赏期?连山金子山杜鹃花什么时候最好看? 金子山杜鹃花开了吗?连山金子山杜鹃花什么时候开放? 清明小长假 不出津城也能游世界 皖中明珠 安庆太湖县 2015深圳欢乐海岸跨年狂欢新亮点?欢乐海岸水秀表演新年烟花美吗? 深圳欢乐海岸2015新年狂欢几点开始?欢乐海岸水秀表演12月活动介绍? 2015深圳欢乐海岸圣诞元旦有什么活动?欢乐海岸水秀表演新年门票免费吗? 欢乐海岸2015新年狂欢活动介绍?深圳欢乐海岸水秀表演元旦有什么活动? 暑假去泰国要多少钱?哪里会不会很热? 马来西亚有哪些特产水果? 泰国曼谷有什么好玩的娱乐项目?泰式按摩怎么样? 暑假去泰国旅游好不好玩呢? 惠州海滨温泉有什么好玩的? 广州小洲村有什么烧烤场吗?怎么去呢? 茂名放鸡岛门票是多少?好玩吗? 五一去清远羊角山漂流门票会不会涨?该如何去啊? AT29C257-70JI SL383 Datasheet AT29C257-70JI SL383 Datasheet AT29C257-70JU Datasheet AT29C257-70JU Datasheet AT29C257-70JZ Datasheet AT29C257-70JZ Datasheet 绵阳景点 绵阳景点 绵阳景点 芜湖旅游景点大全 芜湖旅游景点大全 芜湖旅游景点大全 苏州动物园地址 苏州动物园地址 苏州动物园地址