<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 

<title>图片滚动</title> 

</head> 

<body> 

<!--js替代marquee实现图片无缝滚动


可能大家都碰到过,当marquee中滚动的是图片的时候,滚到终点的时候直接就跳回到起点了,而不像文字那样可以无缝滚动,下面介绍的是通过js来实现图片的无缝滚动。

先了解一下下面这几个属性:


innerHTML:     设置或获取位于对象起始和结束标签内的 HTML

scrollHeight:     获取对象的滚动高度。

scrollLeft:       设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离

scrollTop:       设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离

scrollWidth:      获取对象的滚动宽度

offsetHeight:    获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度

offsetLeft:       获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置

offsetTop:       获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置

offsetWidth:     获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的宽度-->



<style type="text/css"> 

<!-- 

#demo { 

background: #FFF; 

overflow:hidden; 

border: 1px dashed #CCC; 

width: 500px; 

#demo img { 

border: 3px solid #F2F2F2; 

#indemo { 

float: left; 

width: 800%; 

#demo1 { 

float: left; 

#demo2 { 

float: left; 

--> 

</style> 

<div id="demo"> 

<div id="indemo"> 

<div id="demo1"> 

<a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>

<a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>

<a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>

<a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>

<a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>

<a href="#"><img src="http://www.cnrui.cn/other/link/Clear_logo.gif" border="0" /></a>

</div> 

<div id="demo2"></div> 

</div> 

</div> 

<script> 

<!-- 

var speed=10; 

var tab=document.getElementById("demo"); 

var tab1=document.getElementById("demo1"); 

var tab2=document.getElementById("demo2"); 

tab2.innerHTML=tab1.innerHTML; 

function Marquee(){ 

if(tab2.offsetWidth-tab.scrollLeft<=0) 

tab.scrollLeft-=tab1.offsetWidth 

else{ 

tab.scrollLeft++; 

var MyMar=setInterval(Marquee,speed); 

tab. {clearInterval(MyMar)}; 

tab. {MyMar=setInterval(Marquee,speed)}; 

--> 

</script> 

</body> 

</html>