结构 <div id="demo"> <div id="indemo"> <div id="demo1"> <a href="#" mce_href="#"><img src="/images/logo.jpg" mce_src="images/logo.jpg" /></a> <a href="#" mce_href="#"><img src="/images/logo.jpg" mce_src="images/logo.jpg" /></a> <a href="#" mce_href="#"><img src="/images/logo.jpg" mce_src="images/logo.jpg" /></a> <a href="#" mce_href="#"><img src="/images/logo.jpg" mce_src="images/logo.jpg" /></a> </div> <div id="demo2"></div> </div> </div> 左右滚动样式 #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; } 上下滚动样式 #demo { overflow:hidden; border: 1px dashed #CCC; height: 100px; float: left; } #demo img { border: 3px solid #F2F2F2; display: block; } 行为 <mce:script type="text/javascript"><!-- 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.οnmοuseοver=function() {clearInterval(MyMar)}; tab.οnmοuseοut=function() {MyMar=setInterval(Marquee,speed)}; // --></mce:script>