<DIV id=demo1_1>
<div id=gleft>
<a href=""><img src="" border="0" width=150 height="120"/></a>
</div>
<div id=gleft>
<a href=""><img src="" border="0" width=150 height="120"/></a>
</div>
<div id=gleft>
<a href=""><img src="" border="0" width=150 height="120"/></a>
</div>
<div id=gleft>
<a href=""><img src="" border="0" width=150 height="120"/></a>
</div>
</DIV>
<DIV id=demo2_1></DIV></DIV>
<SCRIPT>
var speed=25
demo2.innerHTML=demo1.innerHTML
function Marquee(){
if(demo2.offsetWidth-demo.scrollLeft<=0)
demo.scrollLeft-=demo1.offsetWidth
else{
demo.scrollLeft++
}
}
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function() {clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)} </SCRIPT>
其中<div id=gleft>这里的gleft的样式你自己定义下就OK了
img 不要用浮动
简单点的做法就是 把 img 也设置为 position:absolutetop:0width:100%height:100%
left先不设置 然后用js判断有几个 img 给个循环 js代码大概如下:
//js部分for(var i = 0 i < img.length i++){
//动态设置img的left
//js
img.style.left = (i*200)+"px"
}
//补充: 在循环结束后 要设置 #1的width属性为 img.length*200
之后的轮播可以 就改变 #1这个div的 left 属性 每次都是 一张图片的大小 200px 当然应该设置的是 -200px
最好是可以给一个计数器, 现在显示的是第几张图片,再判断如果是最后一张 下一次轮播就播放第一张 也就是 #1 的left = 0
如果不太明白 可以设置 #k的overflow:auto 来看效果。
做了个例子给你参考一下:
<!DOCTYPE><html>
<head>
<title></title>
<style type="text/css">
#k{width:200px height:280px position:relative border:solid 1px #cccbackground-color:#eee overflow:hidden}
#img_box{position:absolute top:0left:0}
#img_box img{width:200pxheight:280px position:absolute top:0}
</style>
<script type="text/javascript">
function Onload() {
var imgs = document.getElementsByTagName("img")
img_box.style.width = (imgs.length * 200) + "px"
for (var i = 0 i < imgs.length i++) {
imgs[i].style.left = (i * 200) + "px"
}
}
</script>
</head>
<body onload="Onload()">
<div id="k">
<div id="img_box" class="a">
<img src="" alt="图片1" style="background-color:Red" />
<img src="" alt="图片2" style="background-color:Blue" />
<img src="" alt="图片3" style="background-color:Green" />
<img src="" alt="图片4" style="background-color:Yellow" />
</div>
</div>
</body>
</html>