<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<style>
*{margin:0;padding:0;}
#div1 {width:712px;height:108px;margin:100px auto;}
#div1 ul {position:absolute;left:0;top:0;}
#div1 ul li{width:200px;height:200px;background: red;position: absolute;left:200px;top:150px;}
</style>
<script>//无缝滚动
window.onload= function () {
var oDiv=document.getElementById('div1');
var oUl=oDiv.getElementsByTagName('ul')[0];
var aLi=oul.getElementsByTagName('li');
var speed=2;
oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;//4+4==8
oUl.style.width=aLi[0].offsetWidth*aLi.length+'px';
function move(){ //定时器函数
if(oUl.offsetLeft<-oUl.offsetWidth/2){//offsetLeft偏移量,往左是负数,offsetWidth宽度,是正数。左移
oUl.style.left='0';//坐标重置为0
}
if(oul.style.left>0){//右移,负数变0表示右移过了4个li了
oUl.offsetLeft=-oUl.offsetWidth/2+'px';//左偏移量 变成 -宽度一半,表示8个li居中.0不加px,有数字的要加px
}
oUl.style.left=oDiv.offsetLeft+speed+'px';//给当前对象左边距+2px右移 并返回
}
var timer=setInterval(move,30);//参数里面运行有名函数move不用带(),这是js区别于java的不同点
//添加鼠标移入事件
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;
};
}
</script>
<body>
<a href="javascript:;">向左走</a>
<a href="javascript:;">向右走</a>
<div id="div1">
<ul>
<li><img src="img2/1.jpg" /></li>
<li><img src="img2/2.jpg" /></li>
<li><img src="img2/3.jpg" /></li>
<li><img src="img2/4.jpg" /></li>
</ul>
</div>
</body>
</html>
JS无缝滚动
最新推荐文章于 2024-10-18 17:51:23 发布