思路:设置两副重复的图,然后滚动到头的时候将ul的offsetLeft设置为0,但是每次只显示四个,所以看不见那一瞬间的变化,一切近乎完美,代码如下:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
*{margin:0;padding:0;}
#div1{width: 712px;height: 108px;margin:100px auto;position: relative;background: red;overflow: hidden;}
#div1 ul{position: absolute;left: 0;top: 0;}
#div1 ul li{float:left;width:178px;height:108px;list-style: none;}
</style>
<script type="text/javascript">
window.οnlοad=function(){
var oDiv=document.getElementById('div1');
var oUl=oDiv.getElementsByTagName('ul')[0];
var aLi=oUl.getElementsByTagName('li');
oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;//变成两副图,然后才能实现无缝滚动
oUl.style.width=aLi[0].offsetWidth*aLi.length+'px';//随便获取一个l