物体运动基础
让Div移动起来
offsetLeft的作用
用定时器让物体连续移动
效果原理
让ul一直向左移动
复制li
innerHTML和+=
修改ul的width
滚动过界后,重设位置
判断过界
改变滚动方向
修改speed
修改判断条件
鼠标移入暂停
移入关闭定时器
移出重新开启定时器
1 <style> 2 *{ margin:0px; padding:0px;} 3 #div1{ width:712px; height:108px; margin:100px auto; position:relative; background:#F00; overflow:hidden;} 4 #div1 ul{ position:absolute; left:0px; top:0px; } 5 #div1 ul li{ float:left; list-style:none; width:178px; height:108px;} 6 </style> 7 <script> 8 9 window.onload=function () 10 { 11 var oDiv=document.getElementById('div1'); 12 var oUl=oDiv.getElementsByTagName('ul')[0]; 13 var oLi=oDiv.getElementsByTagName('li'); 14 15 oUl.innerHTML=oUl.innerHTML+oUl.innerHTML; 16 oUl.style.width=oLi[0].offsetWidth*oLi.length+'px'; 17 var num=-2; 18 19 function move() 20 { 21 if(oUl.offsetLeft<-oUl.offsetWidth/2) 22 { 23 oUl.style.left='0'; 24 } 25 if(oUl.offsetLeft>0) 26 { 27 oUl.style.left=-oUl.offsetWidth/2+'px'; //当oUl.style.left>0 也就是left 到达右边,后面跟着出现红色,此时只需把它的宽度拉到offsetWidth的中段(oUl的宽度)即可 28 } 29 oUl.style.left=oUl.offsetLeft+num+'px'; 30 } 31 32 timer=setInterval( move 33 ,30) 34 oDiv.onmouseover=function () 35 { 36 clearInterval(timer); 37 }; 38 39 oDiv.onmouseout=function () 40 { 41 timer=setInterval(move, 30); 42 }; 43 44 document.getElementsByTagName('a')[0].onclick=function () 45 { 46 num=-2; 47 } 48 document.getElementsByTagName('a')[1].onclick=function (){ num=2;} 49 50 51 52 }; 53 54 55 </script> 56 </head> 57 58 <body> 59 <a href="#">向左走</a> 60 <a href="#">向右走</a> 61 <div id="div1"> 62 <ul> 63 64 <li> <img src="images/1.jpg"/></li> 65 <li> <img src="images/2.jpg"/></li> 66 <li> <img src="images/3.jpg"/></li> 67 <li> <img src="images/4.jpg"/></li> 68 69 </ul> 70 </div> 71 </body>