无间隙图片滚动(向左)

关于图片循环滚动的代码,在网上随处可见,但不是浏览器兼容问题,就是图片前一轮与后一轮的滚动间距无法解决。

参考了网上的许多资料后,总结出一些可用的。

【一】不利用JS,使用marquee标签。据说marquee已经被摒弃。。。具体用法百度也有,感觉它最大的好处就是实现简单,唯一的不足是会出现空白的间隙。适合文字或者少量图片的滚动播放,用于一组图片的播放就怪怪的。

代码如下:

<div class="show_window">
<marquee class="pic_content" scrollamount="20" align="left" direction="left">
<img src="img/1.jpg" alt="img" align="middle"/>
<img src="img/2.jpg" alt="img" align="middle"/>
<img src="img/3.jpg" alt="img" align="middle"/>
<img src="img/4.jpg" alt="img" align="middle"/>
<img src="img/5.jpg" alt="img" align="middle"/>
<img src="img/6.jpg" alt="img" align="middle"/>
<img src="img/7.jpg" alt="img" align="middle"/>
<img src="img/8.jpg" alt="img" align="middle"/>
<img src="img/9.jpg" alt="img" align="middle"/>
<img src="img/10.jpg" alt="img" align="middle"/>

</marquee>
</div>

【二】使用到JS,图片无间隙滚动!但这里有一个十分重要的地方,就是内层的demo1的宽度(上下时就是高度)一定要大于外层的demo的宽度(高度)才能实现循环播放。之前就是因为忽略了这个问题,导致纠结了好久。。。冏。当然,这个例子里,demo1的宽度是没有指定的,它由内嵌的table的宽度决定(900px),大于demo的500px了吧~~~

 <div id="demo" style="overflow:hidden;height:100px;width:500px; background-color:Silver">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td id="demo1">
<table width="900px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="img/1.jpg"/></td>
<td><img src="img/2.jpg"/></td>
<td><img src="img/3.jpg"/></td>
<td><img src="img/4.jpg"/></td>
<td><img src="img/5.jpg"/></td>
<td><img src="img/6.jpg"/></td>
<td><img src="img/7.jpg"/></td>
</tr>
</table></td>
<td id="demo2"></td>
</tr>
</table>
<script language="javascript" type="text/javascript">
var speed =30
var MyMar = setInterval(Marquee, speed)
var demo_ = document.getElementById("demo");//用getElememtById是为了兼容FF
var demo2_ = document.getElementById("demo2");
var demo1_ = document.getElementById("demo1");
demo2_.innerHTML
= demo1_.innerHTML
demo.onmouseover
=function () { clearInterval(MyMar) }
demo.onmouseout
=function () { MyMar = setInterval(Marquee, speed) }
function Marquee() {
if (demo2_.offsetWidth - demo_.scrollLeft <=0)
demo_.scrollLeft
-= demo1_.offsetWidth
else {
demo_.scrollLeft
++
}
}
</script>
</div>




转载于:https://www.cnblogs.com/oneivan/archive/2011/11/20/2256386.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值