去掉滚动空白

最近需要一个滚动的消息栏,但是完全用marquee标签,消息滚动完后,会出现一片空白,很不friendly.

怎么解决呢,很简单。看看下面的例子就懂啦,嘿嘿

<div id="demo">
        
<div id="demo1">
            
<table>
                
<tr>
                    
<td><img align="middle" src="2007.gif"> &nbsp;&nbsp;</td>
                    
<td><img align="middle" src="2007.gif"> &nbsp;&nbsp;</td>
                    
<td><img align="middle" src="4.gif"> &nbsp;&nbsp;</td>
                
</tr>
                
<tr>
                    
<td><img align="middle" src="yuanzhuang_trbo.gif"> &nbsp;&nbsp;</td>
                    
<td><img align="middle" src="yuanzhuang_trbo.gif"> &nbsp;&nbsp;</td>
                    
<td><img align="middle" src="trbo.gif"> &nbsp;&nbsp;</td>
                
</tr>
            
</table>
        
</div>
        
<div id="demo2"></div>
    
</div>
先说一下为什么需要三个div,第一个div demo是主体,包含两个子div。很明显,第二个div demo1,是用来填写需要滚动实现的图片或者是消息;然后第三个div demo2的用途是用来复制demo1中的内容。看看下面的script吧,相信聪明的你可以理解。。。。

    <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.offsetTop-tab.scrollTop<=0)//当滚动至demo1与demo2交界时
{
tab.scrollTop
-=tab1.offsetHeight //demo跳到最顶端
}

else{
tab.scrollTop
++
}

}


var MyMar=setInterval(Marquee,speed);
tab.onmouseover
=function() {clearInterval(MyMar)};//mouseover时清除定时器达到滚动停止的目的
tab.onmouseout=function() {MyMar=setInterval(Marquee,speed)};//mouseout时重设定时器
-->
    
</script>
gi
posted @ 2008-06-05 13:53  我家的木子  阅读(464)  评论(2编辑  收藏  举报