JavaScript实现图片无缝滚动效果(2)

  两者样式一样。向左、向右滚动时要用float:left让li元素在一行并排显示,而没有用display:inline-block是因为图片这样显示会有空隙,是因为行内元素产生的间隔,故用浮动。这里必须要设置ul#img的宽度为图片的总宽度。

*{ padding: 0; margin: 0; } nav { width: 720px; height: 405px; /*设置可见部分的高度*/ margin: 40px auto; border: 5px solid #eee; overflow: hidden; } #img{ width: 4320px; height:405px;/*设置可见部分的高度*/ position: relative;/*默认是static*/ } #img li{ width: 720px; height:405px; float:left; }

JavaScript部分

  这里以向上滚动为例,JavaScript代码很简单,往下的滚动就是改变一下scrollTop就行,而左右方向就是将scrollTop变成scrollLeft,offsetTop换成offsetLeft就行。

var nav=document.getElementsByTagName('nav')[0]; var list=document.getElementById('img').getElementsByTagName('li'); function scroll() { if(nav.scrollTop==list[list.length-1].offsetTop){ nav.scrollTop=0; }else{ nav.scrollTop++; } } var timer= setInterval(scroll,10); nav.onmouseover=function(){ clearInterval(timer); }; nav.onmouseout=function () { timer=setInterval(scroll,10);//必须得对timer重新赋值 }

点击向下无缝滚动
点击向左无缝滚动
点击向右无缝滚动

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyfwdx.html