無縫滾動是專案中經常需要用到的一種特效,網路上也有很多的範例程式碼,這裡給大家分享的是一段比較簡單實用的,而且相容性也不錯的程式碼,小夥伴們仔細研究下吧。
html 代碼:
html>
head lang="en">
meta charset="UTF-8">
title>無縫滾動title>
script src="js/0010.js">script>
link rel="stylesheet" type="text/css" href="css/0010.css" />
head>
body>
a href="javascript:">往左走a>
a href="javascript:">往右走a>
div id="div1">
ul>
li>img src="image/1.jpg">li>
li>img src="image/2.jpg">li>
li>img src="image/3.jpg">li>
li>img src="image/4.jpg">li>
ul>
div>
body>
html>
CSS代碼
*{
margin:0;
padding: 0;
}
#div1{
overflow: hidden;
background: blue;
position: relative;
width: 600px;
height: 150px;
margin:100px auto;
}
#div1 ul{
position: absolute;
left: 0px;
top: 0px;
list-style: none;
}
#div1 ul li{
float: left;
}
#div1 ul li img{
width:150px;
height:150px;
}
js:程式碼
window.onload=function(){
var oDiv=document.getElementById('div1');
var oUl=oDiv.getElementsByTagName('ul')[0];
var aLi=oUl.getElementsByTagName('li');
var timer=null;
var speed=2;//控制滾動速度以及方向
oUl.innerHTML=oUl.innerHTML oUl.innerHTML;
oUl.style.width=aLi[0].offsetWidth*aLi.length 'px';
timer=setInterval(move,30);
oDiv.onmouseover=function(){//滑鼠移入暫定
clearInterval(timer);
};
oDiv.onmouseout=function(){//滑鼠移出繼續滾動
timer=setInterval(move,30);
}
document.getElementsByTagName('a')[0].onclick=function(){
speed=-2;
}
document.getElementsByTagName('a')[1].onclick=function(){
speed=2;
}
function move(){//圖片滾動
if(oUl.offsetLeft
oUl.style.left=0;
}
if(oUl.offsetLeft>0){
oUl.style.left=-oUl.offsetWidth/2 'px';
}
oUl.style.left=oUl.offsetLeft speed 'px';
}
}
效果是不是非常棒呢。