一、背景:
做項目的時候用戶經常喜歡讓你在首頁中放一些滾動的信息,業務辦理呀,通知信息呀什么的。正常用marquee就可以直接實現了,但是我們會遇到這種情況,就是如果滾動區域很大的情況下,你會發現滾動信息的末尾必須滾完才能從底下或者右邊(從下往上或從右往左滾動)接着滾動,這樣中間會留下很多空白區域,不太好看,如果你想把他做的完美一下,就可以結合js腳本來實現無縫滾動的效果。
二、代碼實現:
<html>
<head></head>
<body>
<form id="form1">
<DIV id=demo style="OVERFLOW: hidden; WIDTH: 230px; HEIGHT: 150px">
<DIV id=demo1>
<table width="237" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="25">·<a href="#">公告標題</a></td>
</tr>
<tr>
<td height="25">·<a href="#">公告標題</a></td>
</tr>
<tr>
<td height="25">·<a href="#">公告標題</a></td>
</tr>
<tr>
<td height="25">·<a href="#">公告標題</a></td>
</tr>
<tr>
<td height="25">·<a href="#">公告標題</a></td>
</tr>
<tr>
<td height="25">·<a href="#">公告標題</a></td>
</tr>
</table>
</DIV>
<DIV id=demo2></DIV>
<SCRIPT type="text/javascript">
var speed=30
demo2.innerHTML=demo1.innerHTML
function Marquee(){
if(demo2.offsetTop-demo.scrollTop<=0)
demo.scrollTop-=demo1.offsetHeight
else{
demo.scrollTop++
}
}
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function() {clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</SCRIPT>
</DIV>
</form>
</body>
</html>
三、總結:
如果你想做到公告條數大於給定區域顯示空間的時候再執行滾動效果怎么辦?
只要判斷這個table下的行數就可以了(通過js腳本實現),如果大於某個值在執行滾動效果。具體代碼不再寫了。。。