<div id='demo' style='overflow:hidden;width:510px;height:60px;'>
     <table cellpadding="0" cellspacing="0" border="0">
     <tr>
     <td id="demo1">
     <table cellpadding="0" cellspacing="0" border="0">
     <tr>
     <asp:Repeater ID="rpt_List" runat="server">
     <ItemTemplate>
     <td style='padding:0px 10px 0px 10px;'><a href='http://www.simply.ws' target='_blank'><img src='<%#Eval("Images") %>' alt="<%#Eval("Name") %>" height="60" border='0' /></td>
     </ItemTemplate>
     </asp:Repeater>
     </tr>
     </table>
     </td>
   <td id="demo2"></td>
     </tr>
     </table>
    </div>
 <script language='javascript'>
  var speed = 10;
  demo2.innerHTML=demo1.innerHTML
  function Marquee(){
   if ( demo.scrollLeft >= demo2.offsetWidth )
    demo.scrollLeft -= demo2.offsetWidth;
   else{
    demo.scrollLeft++;
   }
  }
  var MyMar=setInterval(Marquee,speed)
  demo.onmouseover=function() {clearInterval(MyMar)}
  demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
  </script> 上面这段滚动代码每次滚动到最后一张图就停止了。不会连续滚动。是哪里出错了?

解决方案 »

  1.   

    = =你服务器控件都搬过来啦。要连续滚动就setInterval(fn(),时间);
      

  2.   

    不可以用服务器端控件做吗?
    你说的fn()我没写,要写个什么东东?
    我没学过JavaScript,只是照搬了用的
    望详解
      

  3.   

    demo1宽度要大于demo
    这样试试
    <td id="demo1" width="511">
      

  4.   

    你这Marquee函数哪来的?看着不对劲。
    function Marquee(){
       if ( demo.scrollLeft >= demo2.offsetWidth )
        demo.scrollLeft -= demo2.offsetWidth;   else{
        demo.scrollLeft++;
       }
      }
    如果我没糊涂的话,标红的那部分,逻辑有问题。
    你直接找一个好使的代码818,我现在没时间改你的代码。
      

  5.   

    上面发错格式了。那就不是“标红”,而是“HTML code”标注的那部分。
    不过,突然也发现我理解错了,那部分的意思才理解(不过还真是别扭),就是类似回车,退回原来位置。
    但是整个代码肯定还是很糟糕,时间间隔那么短,每次只移1像素,想累死CPU啊。
    趁早找个好的代码,别在这种垃圾代码上浪费时间。