简单易用的无缝滚动

来源:互联网 发布:php addcslashes 编辑:程序博客网 时间:2024/06/07 01:28

要保证所用的图片的大小是一致的

我的图片大小是200px*100px

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
img,ul,li,div,body{margin: 0;padding: 0;}
img{vertical-align: top;}
a{text-decoration: none; color: black;}
ul li{float: left;}
ul{list-style: none;}
#div1{
width:800px;
height: 100px;
margin: 100px auto;
position: relative;
overflow: hidden;
}
#div1 ul{
position: absolute;left: 0;top: 0;
}
#div1 ul li{
width: 200px;
height: 100px;
}
</style>
<script>
window.onload=function(){
var oDiv=document.getElementById('div1');
var oUl=oDiv.getElementsByTagName('ul')[0];
var aLi=oUl.getElementsByTagName('li');
var aA=document.getElementsByTagName('a');

var speed=2;  //移动速度 初始值为向右移动

oUl.innerHTML=oUl.innerHTML+oUl.innerHTML; //把ul的四张图片变为两个四张 即八张 连接在一起
oUl.style.width=aLi[0].offsetWidth*aLi.length+'px';   //ul的宽度为八张图片的宽度

function move(){
if(oUl.offsetLeft<-oUl.offsetWidth/2)   //向左移动的函数
//当ul的第八章图片将要移出来时,ul的left为-800时,八张图片全部移动了一遍
//<-800时,用第一组的四张图片立即覆盖第二组的四张图片
{
oUl.style.left='0';
}
if(oUl.offsetLeft>0)     //向右移动
{
oUl.style.left=-oUl.offsetWidth/2+'px';
}
oUl.style.left=oUl.offsetLeft+speed+'px';

}

var timer=setInterval(move,30);//定时器
oDiv.onmouseover=function()  //鼠标移入时 关闭定时器,停止移动
{
clearInterval(timer);
};
oDiv.onmouseout=function()  //鼠标移出时 重启定时器,开始移动
{
timer=setInterval(move,30);
};

aA[0].onclick=function()  //添加点击事件 向左走
{
speed=-2;
}
aA[1].onclick=function()   //点击事件 向右走
{
speed=2;
}
}
   
</script>
</head>
<body>
<a href="javascript:;">向左走</a>
<a href="javascript:;">向右走</a>


<div id="div1">
<ul>
<li><img src="img/Zyx1.jpg"/></li>
<li><img src="img/Zyx2.jpg"/></li>
<li><img src="img/Zyx3.jpg"/></li>
<li><img src="img/Zyx4.jpg"/></li>
</ul>
</div>
</body>
</html>

原创粉丝点击