<div id="demo" style="overflow: hidden; height: 100px; width: 300px;">
    <table align="left" cellpadding="0" cellspace="0" border="0">
        <tr>
            <td id="demo1" valign="top">
                <img src="/images/equipmenta.jpg"><img src="/images/equipmenta.jpg"><img src="/images/equipmenta.jpg"><img
                    src="/images/equipmenta.jpg"><img src="/images/equipmenta.jpg">
            </td>
            <td id="demo2" valign="top">
            </td>
        </tr>
    </table>
</div><script>
    var speed = 30;
    var demo = document.getElementById("demo");
    var demo1 = document.getElementById("demo1");
    var demo2 = document.getElementById("demo2");
    demo2.innerHTML = demo1.innerHTML;
    function Marquee() {
        if (demo2.offsetWidth - demo.scrollLeft <= 0)
            demo.scrollLeft -= demo1.offsetWidth;
        else {
            demo.scrollLeft++;
        }
    }
    var MyMar = setInterval(Marquee, speed);
    demo.onmouseover = function() { clearInterval(MyMar) }
    demo.onmouseout = function() { MyMar = setInterval(Marquee, speed) }
</script>以上的代码放在html代码中能够实现图片向左滚动效果,但是放在.aspx文件中却没有任何效果,这是什么原因?

解决方案 »

  1.   

    把你的ASPX文件中的DTD声明去了就可以了
      

  2.   

    不同的DTD,对html 的解释不同
      

  3.   

    去掉DTD,整个页面的css就完蛋了,还有没有别的方法啊
      

  4.   

    那你只好按照原理该代码了。
    你的页面的DTD与scrollLeft和offsetWidth;有冲突
      

  5.   

    因为div中的demo,demo1,demo2都是引用值,需要将他们在css文件的定义复制进来才能有反应
      

  6.   

    这和css文件有什么关系?我根本就没有写css文件
      

  7.   


     <div id="demp" style="overflow: hidden; width: 340px; height: 108px">
                        <table cellspacing="0" cellpadding="0" align="center" border="0">
                            <tbody>
                                <tr>
                                    <td id="demp1" width="380px" height="108px">
                                        <asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal" 
                                            DataSourceID="ObjectDataSource2">
                                        <ItemTemplate >
                                        <table id="table1" cellspacing="0" border="0">
                                            <tr>
                                                <td>
                                               <a href ='<%#Eval("pid","Products/ProductsSelect.aspx?pid={0}") %>'><img title='<%#Eval("pname") %>' src='<%#"ProductImages/"+Eval("pimage") %>' style="height: 108px; width: 100px;
                                                        border-width: 0px;" /></a>&nbsp;&nbsp;
                                                </td>
                                                </tr> 
                                                </table> 
                                        </ItemTemplate>
                                        </asp:DataList>
                                        <asp:ObjectDataSource ID="ObjectDataSource2" runat="server" 
                                            SelectMethod="GetProductsTop" TypeName="BLL.ProdustsManager">
                                        </asp:ObjectDataSource>
                                    </td>
                                    <td id="demp2">
                                    </td>
                                </tr>
                            </tbody>
                        </table>                    <script language="JavaScript" type="text/javascript">
    var speedproduct=10
    demp2.innerHTML=demp1.innerHTML 
    function Marqueeproduct()

    if(demp2.offsetWidth-demp.scrollLeft<=0) 
    demp.scrollLeft-=demp1.offsetWidth 
    else
    {demp.scrollLeft++


    var MyMarproduct=setInterval(Marqueeproduct,speedproduct) 
    demp.onmouseover=function() {clearInterval(MyMarproduct)} 
    demp.onmouseout=function() {MyMarproduct=setInterval(Marqueeproduct,speedproduct)} 
                        </script>
    你试试我用这个可以滚动