您的位置:首页 > 编程语言 > ASP

ASP.NET中利用DataList实现图片无缝滚动

2012-11-23 04:41 555 查看
这个问题之前也困扰我,后来解决了,拿出来分享下,以后用也方便,代码很容易看懂,不多说什么了
<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: