无缝滚动实现一
结构
<div id="demo">
<div id="indemo">
<div id="demo1">
<a href="#"><img src="http://images.cnblogs.com/logo.jpg" /></a>
<a href="#"><img src="http://images.cnblogs.com/logo.jpg" /></a>
<a href="#"><img src="http://images.cnblogs.com/logo.jpg" /></a>
<a href="#"><img src="http://images.cnblogs.com/logo.jpg" /></a>
</div>
<div id="demo2"></div>
</div>
</div>
样式
左右样式
<style type="text/css">
<!--
#demo {
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>
上下样式
<style type="text/css">
<!--
#demo {
overflow:hidden;
border: 1px dashed #CCC;
height: 100px;
float: left;
}
#demo img {
border: 3px solid #F2F2F2;
display: block;
}
-->
行为
<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++; } } //向右 function Marquee(){ if(tab.scrollLeft<=0) tab.scrollLeft+=tab2.offsetWidth else{ tab.scrollLeft--; } } //向上 function Marquee(){ if(tab2.offsetTop-tab.scrollTop<=0)//当滚动至demo1与demo2交界时 tab.scrollTop-=tab1.offsetHeight //demo跳到最顶端 else{ tab.scrollTop++ } } //向下 function Marquee(){ if(tab1.offsetTop-tab.scrollTop>=0)//当滚动至demo1与demo2交界时 tab.scrollTop+=tab2.offsetHeight //demo跳到最顶端 else{ tab.scrollTop-- } } var MyMar=setInterval(Marquee,speed); tab.onmouseover=function() {clearInterval(MyMar)}; tab.onmouseout=function() {MyMar=setInterval(Marquee,speed)}; --> </script>