这个问题之前也困扰我,后来解决了,拿出来分享下,以后用也方便,代码很容易看懂,不多说什么了
[html] view plaincopyPRint?
<div id="demo" style="overflow: hidden; width: 441px; border: 0px"> <table width="441" height="130" border="0" cellpadding="0" cellspacing="0" background="Images/img2/32.jpg"> <tr> <td align="center" id="demo1" valign="bottom"> <asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal" DataSourceID="ObjectDataSource1"> <ItemTemplate> <table> <tr> <td> <asp:ImageButton ID="imgbtnInfo" runat="server" ImageUrl='<%#Eval("Spic") %>' OnClick="imgbtnInfo_Click" CommandArgument='<%#Eval("ID") %>' /> </td> </tr> <tr> <td align="center"> <asp:LinkButton ID="lkbtnInfo" CommandArgument='<%#Eval("ID") %>' runat="server" OnClick="lkbtnInfo_Click" CSSClass="bb" Text='<%#Eval("Type") %>'></asp:LinkButton> </td> </tr> </table> </ItemTemplate> </asp:DataList> <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="SelectInfo" TypeName="HotelDAL.KeFangServices"></asp:ObjectDataSource> </td> <%-- 这一步很重要 --%> <td id="demo2" align="center" valign="bottom"> </td> </tr> </table> </div> <script> //滚动的速度,数值越大速度越慢 var speed = 20 demo2.innerHTML = demo1.innerHTML //从右至左 function Marquee() { if (demo1.offsetWidth - demo.scrollLeft <= 0) demo.scrollLeft = 0 else demo.scrollLeft++ } var MyMar = setInterval(Marquee, speed) demo.onmouSEOver = function () { clearInterval(MyMar) } demo.onmouseout = function () { MyMar = setInterval(Marquee, speed) } </script>