我在网上拷了一段代码,但不知是哪里出了问题,图片没有滚动效果,请高手指点:
<script type="text/javascript"> document.write('<table align=center width=774 border=0 cellpadding=0 cellspacing=0 style=BORDER-LEFT: #cccccc 1px solid;BORDER-RIGHT: #cccccc 1px solid>'); document.write(' <tr> '); document.write(' <td width=774 height=120 align=center class=border01 bgcolor=#FFFFFF>'); document.write(' <div id=demo style=overflow:hidden;width:750;align=center>'); document.write(' <table border=0 align=center cellpadding=1 cellspacing=1 cellspace=0 >'); document.write(' <tr>'); document.write(' <td valign=top bgcolor=ffffff id=marquePic1> '); document.write(' <table width=90% border=0 cellspacing=0 cellpadding=0>'); document.write(' <tr align=center> '); document.write(' <td><a href="#" target="new"><img src=images/1.jpg width=148 height=196 hspace=2 border=0></a></td>'); document.write(' <td><a href="#" target="new"><img src=images/2.jpg width=148 height=196 hspace=2 border=0></a></td>'); document.write(' <td><a href="#" target="new"><img src=images/3.jpg width=148 height=196 hspace=2 border=0></a></td>'); document.write(' <td><a href="#" target="new"><img src=images/4.jpg width=148 height=196 hspace=2 border=0></a></td>'); document.write(' </tr>'); document.write(' </table>'); document.write(' </td>'); document.write(' <td id=marquePic2 valign=top></td>'); document.write(' </tr>'); document.write(' </table>'); document.write(' </div>'); document.write(' </td>'); document.write(' </tr>'); document.write(' </table>'); var speed=10  //值越大滚动越慢
var marquePic1 = document.getElementById("marquePic1");
var marquePic2 = document.getElementById("marquePic2");
var demo = document.getElementById("demo");marquePic2.innerHTML=marquePic1.innerHTML function Marquee(){ if(marquePic2.offsetWidth-demo.scrollLeft<=0)

demo.scrollLeft-=marquePic1.offsetWidth
}else

demo.scrollLeft++ 

} var MyMar=setInterval(Marquee,speed) demo.onmouseover=function() {clearInterval(MyMar)} demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)} </script> 

解决方案 »

  1.   

    marquePic1的宽度要大于demo的宽度
      

  2.   

    document.write(' <div id=demo style=overflow:hidden;width:750;align=center>'); 
    改成,width加个750px试试:document.write(' <div id=demo style=overflow:hidden;width:750px;align=center>'); 
    我试了下,IE6下面可以了。希望对楼主有帮助哟!
      

  3.   

    //这里是marquePic2克隆mqrquePic1达到连续滚动。
    marquePic2.innerHTML=marquePic1.innerHTML function Marquee()
    {
    //我在我电脑上测了一下,这里marquePic2.offsetWidth是610,而demo.scrollLeft最大只能加到473,所以你那个610-473 <=0是永远不成立的
    //你把那个750px值改小,让这个等式成立就行了
    if(marquePic2.offsetWidth-demo.scrollLeft<=0)
    {
    demo.scrollLeft-=marquePic1.offsetWidth
    }
    else
    {
    demo.scrollLeft++;
    }
    }/*------楼主修改下这里就对了,但是这样的循环效果中间图片个间隙,建议楼主去网上找一个图片无间隙的滚动效果最好,不过就复杂很多了哈----------*/