可以调整向左或右方向滚动
 代码如下:
 代码如下:
以上是一个简单的布局,下面是主要的Javascript 代码
 代码如下:
 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.style.width = aLi[0].offsetWidth * aLi.length + 'px';
 function move() {
 if (oUl.offsetLeft < -oUl.offsetWidth / 2) {
 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);
 };
 document.getElementsByTagName('a')[0].onclick = function() {
 speed = -2;
 };
 document.getElementsByTagName('a')[1].onclick = function() {
 speed = 2;
 };
 }
  script>
简单讲下思路:
首先设置ul 里面的图片一共有8张 oUl.innerHTML += oUl.innerHTML;
在 计算ul的宽度为 li的实际宽度*8
之后将 多余的内容隐藏
注意 : oUl.offsetLeft 肯定是负值
所以判断的时候不要把负号漏掉
 代码如下:
if (oUl.offsetLeft < -oUl.offsetWidth / 2) { 
 oUl.style.left = '0'; 
}
这段表示 图片滚动到一半了,迅速把图片拉回来,因为程序执行的太快,所以几乎看不出来 实现无缝滚动
最后使用 变量 speed 来控制左右方向的滚动。
以上代码只是实现了最基本的功能,小伙伴们可以在此基础上继续完善。
下载本文