无缝循环滚动图片
2008-10-13 16:20
183 查看
一般的图片(或者文字)滚动直到最后一张图片滚出table框后第一张图片才会出现从而实现继续滚动,如何做到首尾两张图片相连不间断(无缝循环)滚动呢?
解决思路:一个设定宽度并且隐藏超出它宽度的内容的容器demo,里面放demo1和demo2,demo1是滚动内容,demo2为demo1的直接克隆副本,通过不断改变demo1的scrollTop或者scrollLeft达到滚动的目的,当滚动至demo1与demo2的交界处时直接跳回初始位置,因为demo1与demo2一样,所以分不出跳动的瞬间,从而达到“无缝”滚动的目的。
程序代码
-------------------------------------------
<div id="demo" style="overflow:hidden;width:100%;color:#ffffff;">
<table cellpadding="0" cellspacing="0" border="0">
<tr><td id="demo1" valign="top" align="center">
<table cellpadding="2" cellspacing="0" border="0">
<tr align="center">
<td><img src="图片1地址" ></td>
<td><img src="图片2地址" ></td>
<td><img src="图片3地址" ></td>
<td><img src="图片4地址" ></td>
<td><img src="图片5地址" ></td>
</tr>
</table>
</td>
<td id="demo2" valign="top"></td>
</tr>
</table>
</div>
<script>
var speed=2 //速度数值越大速度越慢
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>
解决思路:一个设定宽度并且隐藏超出它宽度的内容的容器demo,里面放demo1和demo2,demo1是滚动内容,demo2为demo1的直接克隆副本,通过不断改变demo1的scrollTop或者scrollLeft达到滚动的目的,当滚动至demo1与demo2的交界处时直接跳回初始位置,因为demo1与demo2一样,所以分不出跳动的瞬间,从而达到“无缝”滚动的目的。
程序代码
-------------------------------------------
<div id="demo" style="overflow:hidden;width:100%;color:#ffffff;">
<table cellpadding="0" cellspacing="0" border="0">
<tr><td id="demo1" valign="top" align="center">
<table cellpadding="2" cellspacing="0" border="0">
<tr align="center">
<td><img src="图片1地址" ></td>
<td><img src="图片2地址" ></td>
<td><img src="图片3地址" ></td>
<td><img src="图片4地址" ></td>
<td><img src="图片5地址" ></td>
</tr>
</table>
</td>
<td id="demo2" valign="top"></td>
</tr>
</table>
</div>
<script>
var speed=2 //速度数值越大速度越慢
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>
相关文章推荐
- 滚动视图(UIScrollView)无限无缝左右切换图片,自动顺序加逆序循环播放图片
- 网页图片无缝循环滚动html代码
- 如何实现图片的无缝循环滚动
- 非常平滑的JS图片滚动特效代码,无缝循环,速度可自定义,鼠标悬停时停止。它的特点是JS和图片地址分离,这样做你就经易的从数据库动态调用每张图片的地址,方便控制,因此它非常的应用。
- html图片左右无缝循环滚动示例
- 图片循环滚动代码(无缝滚动)(分别向上、下、左、右)
- 图片四个方向无缝循环滚动代码
- 图片循环滚动代码(无缝滚动)
- JavaScript学习笔记——简单无缝循环滚动展示图片的实现
- Jquery 无缝图片循环滚动(仿marquee)
- 如何实现图片的无缝循环向上,下,右滚动
- 无缝循环滚动图片的JS代码
- 图片循环滚动代码(无缝滚动){转,向原创致敬}
- 图片循环滚动代码(无缝滚动)(分别向上、下、左、右)
- 图片无缝循环滚动
- 图片循环滚动代码(无缝滚动)(分别向上、下、左、右)
- [js] 图片无缝连续循环滚动(转)
- JS图片无缝滚动(简单利于使用)
- marquee图片无缝滚动
- Javascript图片无缝滚动