註:上下滾動時,儲存格demo1裡面的內容高度要大於demo設定的高度才能無限滾動
左右滾動時,儲存格demo1裡面的內容寬度要大於demo設定的寬度才能無限滾動
一、左右滾動代碼
1.顯示內容
<div id="demo" style="overflow:hidden;height:100px;width:200px;">
<table cellpadding="0" cellspace="0" border="0">
<tr>
<td id="demo1"><table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>一</td>
<td>二</td>
<td>三</td>
</tr>
</table></td>
<td id="demo2"></td>
</tr>
</table>
</div>
2.向左滾動JS
<script>
var speed=30
var MyMar=setInterval(Marquee,speed)
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>
3.向右滾動JS
<script>
var speed=30
var MyMar=setInterval(Marquee,speed)
demo2.innerHTML=demo1.innerHTML
demo.onmouseover=function() {clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
function Marquee(){
if(demo.scrollLeft<=0)
demo.scrollLeft+=demo2.offsetWidth
else{
demo.scrollLeft--
}
}
</script>
二、上下滾動代碼
1.顯示的內容
<div id="demo" style="OVERFLOW: hidden; WIDTH: 200px; HEIGHT: 100px; ">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="demo1"><table width="100%" height="99" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>一</td>
</tr>
<tr>
<td>二</td>
</tr>
<tr>
<td>三</td>
</tr>
</table></td>
</tr>
<tr>
<td id="demo2"></td>
</tr>
</table>
</div>
2.向上滾動JS
<SCRIPT>
var speed=30
var MyMarh=setInterval(Marqueeh,speed)
demo2.innerHTML=demo1.innerHTML
//原理是不斷的向demoh2中填入demoh1中的內容,然後將已經看不見的清除
//用一個兩行一列的表格,上一列再放一個裝填有內容的表格,定義為demoh1,下一列是空的TD,定義為demoh2
//SPEED是用來控制速度的。
demo.onmouseover=function(){ clearInterval(MyMarh) }
demo.onmouseout=function(){ MyMarh=setInterval(Marqueeh,speed) }
function Marqueeh(){
if(demo2.offsetHeight-demo.scrollTop<=0)
demo.scrollTop-=demo1.offsetHeight
else{
demo.scrollTop++
}
}
</SCRIPT>
3.向下滾動JS
<script>
var speed=30
demo2.innerHTML=demo1.innerHTML
demo.scrollTop=demo.scrollHeight
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function() {clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
function Marquee(){
if(demo1.offsetTop-demo.scrollTop>=0)
demo.scrollTop+=demo2.offsetHeight
else{
demo.scrollTop--
}
}
</script>
經過測試,效果還可以,只是美中有點不足,在相容性方面稍差.現在的瀏覽器太多太雜了..悲局呀!...