<div id="marquees"> 
        <table width=190>
          <!--DWLayoutTable-->
          <tr>
            <td width="180" align="center"><a href="链接网址"><img src="images/0806261404497112.jpg" width="140" height="100"></a></td>
          </tr>
          <tr height=10><td></td></tr>
          <tr>
            <td align="center"><a href="链接网址"><img src="images/0806261405308698.jpg"></a></td>
          </tr>
          <tr height=10><td></td></tr>
          <tr>
            <td align="center"><a href="链接网址"><img src="images/0806261408139383.jpg"></a></td>
          </tr>
          <tr height=10><td></td></tr>
          <tr>
            <td align="center"><a href="链接网址"><img src="images/0808141419267558.jpg"></a></td>
          </tr>
          <tr height=10><td></td></tr>
          <tr>
            <td align="center"><a href="链接网址"><img src="images/0806261405030488.jpg"></a></td>
          </tr>
          <tr height=10><td></td></tr>
          <tr>
            <td align="center"><a href="链接网址"><img src="images/0806261405308698.jpg"></a></td>
          </tr>
          <tr height=10><td></td></tr>
          <tr>
            <td align="center"><a href="链接网址"><img src="images/0808141419267558.jpg"></a></td>
          </tr>
          <tr height=10><td height="2"></td></tr>
        </table>
</div> 
<script language="javascript">
marqueesHeight=780; //内容区高度
stopscroll=false; //这个变量控制是否停止滚动
with(marquees){
noWrap=true; //这句表内容区不自动换行
style.width=0; //于是我们可以将它的宽度设为0,因为它会被撑大
style.height=marqueesHeight;
style.overflowY="hidden"; //滚动条不可见
onmouseover=new Function("stopscroll=true"); //鼠标经过,停止滚动
onmouseout=new Function("stopscroll=false"); //鼠标离开,开始滚动
}
//这时候,内容区的高度是无法读取了。下面输出一个不可见的层"templayer",稍后将内容复制到里面:
document.write('<div id="templayer" style="margin-top:-500px;position:absolute;z-index:1;visibility:hidden"></div>');
function init(){ //初始化滚动内容
//多次复制原内容到"templayer",直到"templayer"的高度大于内容区高度:
while(templayer.offsetHeight<marqueesHeight){
templayer.innerHTML=marquees.innerHTML;
} //把"templayer"的内容的“两倍”复制回原内容区:
marquees.innerHTML=templayer.innerHTML+templayer.innerHTML;
//设置连续超时,调用"scrollUp()"函数驱动滚动条:
setInterval("scrollUp()",50);//80为滚动速度,越大越慢
}
document.body.onload=init;
preTop=0; //这个变量用于判断滚动条是否已经到了尽头
function scrollUp(){ //滚动条的驱动函数
if(stopscroll==true) return; //如果变量"stopscroll"为真,则停止滚动 
preTop=marquees.scrollTop; //记录滚动前的滚动条位置
marquees.scrollTop+=1; //滚动条向下移动一个像素
//如果滚动条不动了,则向上滚动到和当前画面一样的位置
//当然不仅如此,同样还要向下滚动一个像素(+1):
if(preTop==marquees.scrollTop){
marquees.scrollTop=templayer.offsetHeight-marqueesHeight+1;
}
}
</script> 
上面是图片滚动的源码,
直接把源码保存成html,之后运行,会发现在网页的下面有一片的空白(高度有3-5百),,请问怎么把空白消除那
请各位赐教~~

解决方案 »

  1.   

    marqueesHeight=780; //内容区高度 
      

  2.   

    你试下,我试过没有问题。
    <ul style="background:url(images/hotbj01.gif) no-repeat; height:30px; ">
                                     <li style="margin:2px;">
                                        <!--文字向上滚动 -->
        <SCRIPT>  
    function srcMarquee(){
    this.ID = document.getElementById(arguments[0]);
    if(!this.ID){this.ID = -1;return;}
    this.Direction = this.Width = this.Height = this.DelayTime = this.WaitTime = this.Correct = this.CTL = this.StartID = this.Stop = this.MouseOver = 0;
    this.Step = 1;
    this.Timer = 30;
    this.DirectionArray = {"top":0 , "bottom":1 , "left":2 , "right":3};
    if(typeof arguments[1] == "number")this.Direction = arguments[1];
    if(typeof arguments[2] == "number")this.Step = arguments[2];
    if(typeof arguments[3] == "number")this.Width = arguments[3];
    if(typeof arguments[4] == "number")this.Height = arguments[4];
    if(typeof arguments[5] == "number")this.Timer = arguments[5];
    if(typeof arguments[6] == "number")this.DelayTime = arguments[6];
    if(typeof arguments[7] == "number")this.WaitTime = arguments[7];
    if(typeof arguments[8] == "number")this.ScrollStep = arguments[8]
    this.ID.style.overflow = this.ID.style.overflowX = this.ID.style.overflowY = "hidden";
    this.ID.noWrap = true;
    this.IsNotOpera = (navigator.userAgent.toLowerCase().indexOf("opera") == -1);
    if(arguments.length >= 7)this.Start();
    }
    srcMarquee.prototype.Start = function(){
    if(this.ID == -1)return;
    if(this.WaitTime < 800)this.WaitTime = 800;
    if(this.Timer < 20)this.Timer = 20;
    if(this.Width == 0)this.Width = parseInt(this.ID.style.width);
    if(this.Height == 0)this.Height = parseInt(this.ID.style.height);
    if(typeof this.Direction == "string")this.Direction = this.DirectionArray[this.Direction.toString().toLowerCase()];
    this.HalfWidth = Math.round(this.Width / 2);
    this.BakStep = this.Step;
    this.ID.style.width = this.Width;
    this.ID.style.height = this.Height;
    if(typeof this.ScrollStep != "number")this.ScrollStep = this.Direction > 1 ? this.Width : this.Height;
    var msobj = this;
    var timer = this.Timer;
    var delaytime = this.DelayTime;
    var waittime = this.WaitTime;
    msobj.StartID = function(){msobj.Scroll()}
    msobj.Continue = function(){
    if(msobj.MouseOver == 1){
    setTimeout(msobj.Continue,delaytime);
         }
         else{ clearInterval(msobj.TimerID);
    msobj.CTL = msobj.Stop = 0;
    msobj.TimerID = setInterval(msobj.StartID,timer);
         }
        }
    msobj.Pause = function(){
    msobj.Stop = 1;
    clearInterval(msobj.TimerID);
    setTimeout(msobj.Continue,delaytime);
        }
    msobj.Begin = function(){
       msobj.ClientScroll = msobj.Direction > 1 ? msobj.ID.scrollWidth : msobj.ID.scrollHeight;
       if((msobj.Direction <= 1 && msobj.ClientScroll <msobj.Height) || (msobj.Direction > 1 && msobj.ClientScroll <msobj.Width))return;
       msobj.ID.innerHTML += msobj.ID.innerHTML;
       msobj.TimerID = setInterval(msobj.StartID,timer);
       if(msobj.ScrollStep < 0)return;
       msobj.ID.onmousemove = function(event){
           if(msobj.ScrollStep == 0 && msobj.Direction > 1){
    var event = event || window.event;
    if(window.event){
    if(msobj.IsNotOpera){msobj.EventLeft = event.srcElement.id == msobj.ID.id ? event.offsetX - msobj.ID.scrollLeft : event.srcElement.offsetLeft - msobj.ID.scrollLeft + event.offsetX;}
    else{msobj.ScrollStep = null;return;}
    }
    else{msobj.EventLeft = event.layerX - msobj.ID.scrollLeft;}
    msobj.Direction = msobj.EventLeft > msobj.HalfWidth ? 3 : 2;
    msobj.AbsCenter = Math.abs(msobj.HalfWidth - msobj.EventLeft);
    msobj.Step = Math.round(msobj.AbsCenter * (msobj.BakStep*2) / msobj.HalfWidth);
    }
    }
    msobj.ID.onmouseover = function(){
    if(msobj.ScrollStep == 0)return;
    msobj.MouseOver = 1;
    clearInterval(msobj.TimerID);
    }
    msobj.ID.onmouseout = function(){
    if(msobj.ScrollStep == 0){
    if(msobj.Step == 0)msobj.Step = 1;
    return;
    }
    msobj.MouseOver = 0;
    if(msobj.Stop == 0){
    clearInterval(msobj.TimerID);
    msobj.TimerID = setInterval(msobj.StartID,timer);
    }}}
    setTimeout(msobj.Begin,waittime);
    }
    srcMarquee.prototype.Scroll = function(){
    switch(this.Direction){
    case 0:
    this.CTL += this.Step;
    if(this.CTL >= this.ScrollStep && this.DelayTime > 0){
    this.ID.scrollTop += this.ScrollStep + this.Step - this.CTL;
    this.Pause();
    return;
    }
    else{
    if(this.ID.scrollTop >= this.ClientScroll){this.ID.scrollTop -= this.ClientScroll;}
    this.ID.scrollTop += this.Step;
    }
    break;
    case 1:
    this.CTL += this.Step;
    if(this.CTL >= this.ScrollStep && this.DelayTime > 0){
    this.ID.scrollTop -= this.ScrollStep + this.Step - this.CTL;
    this.Pause();
    return;
    }
    else{
    if(this.ID.scrollTop <= 0){this.ID.scrollTop += this.ClientScroll;}
    this.ID.scrollTop -= this.Step;
    }
    break;
    case 2:
    this.CTL += this.Step;
    if(this.CTL >= this.ScrollStep && this.DelayTime > 0){
    this.ID.scrollLeft += this.ScrollStep + this.Step - this.CTL;
    this.Pause();
    return;
    }
    else{
    if(this.ID.scrollLeft >= this.ClientScroll){this.ID.scrollLeft -= this.ClientScroll;}
    this.ID.scrollLeft += this.Step;
    }
    break;
    case 3:
    this.CTL += this.Step;
    if(this.CTL >= this.ScrollStep && this.DelayTime > 0){
    this.ID.scrollLeft -= this.ScrollStep + this.Step - this.CTL;
    this.Pause();
    return;
    }
    else{
    if(this.ID.scrollLeft <= 0){this.ID.scrollLeft += this.ClientScroll;}
    this.ID.scrollLeft -= this.Step;
    }
    break;
    }

    </SCRIPT><DIV id=Scroll>
    <DIV id=ScrollMe style="OVERFLOW: hidden; HEIGHT: 27px"><A 
    href="#" target=_blank>瓮安涉案女孩系溺亡</A><br />
     <A 
    href="#" target=_blank>体彩中心突发人命案</A> <br />
    <A 
    href="#" target=_blank>A股上半年全球最差</A><br />
     
    <A href="#" target=_blank>上海数字电视免费开播</A><br />
     
    <A class=s_end href="#" target=_blank>五月份乘用车销量探底</A><BR><A href="#" 
    target=_blank>塔罗占卜王菲会复出</A> <A href="#" target=_blank>七月精彩运势全攻略</A><br />
     
    <A href="#" target=_blank>高考试题及历年分数线</A> <br /><A href="#" target=_blank>暗黑3视频图片全欣赏</A> <br /><A class=s_end href="#" target=_blank>爱墙留言祈福地震灾区</A>
    <BR></DIV></DIV>
    <SCRIPT>new srcMarquee("ScrollMe",0,1,808,27,30,3000,3000,27)</SCRIPT>                                         </li>                                 
                                    </ul>