ASPX页面代码:
<form id=formQiYeRY runat=server>
<div id="marquees">
<asp:DataList ID="QiYeRY" runat="server" Font-Underline="False" RepeatColumns="5" RepeatDirection="Horizontal" RepeatLayout="Flow" ><ItemTemplate>
<a target=_blank title='<%#gettitle(Eval("JP_Title").ToString())%>' href=../jpxl_details.aspx?id=<%#Eval("JP_ID") %>><asp:ImageButton ID="ImageButton1" runat=server Width="212" Height="130" Enabled=false ImageUrl='<%#Eval("JP_pic","~/jpxlPIC/{0}")%>' /></a>
</ItemTemplate>
</asp:DataList>
<!-- 字幕内容结束 -->
</div>
</form>
<!-- 以下是java-script代码 -->
<script language="javascript">
<!--
marqueesWidth=607; //内容区宽度度
marqueesHeight=300;
stopscroll=false; //这个变量控制是否停止滚动
with(marquees){
noWrap=true; //这句表内容区不自动换行
style.width=marqueesWidth; //于是我们可以将它的宽度设为0,因为它会被撑大
style.height=marqueesHeight;
style.overflowX="hidden"; //滚动条不可见
οnmοuseοver=new Function("stopscroll=true"); //鼠标经过,停止滚动
οnmοuseοut=new Function("stopscroll=false"); //鼠标离开,开始滚动
}
//这时候,内容区的高度是无法读取了。下面输出一个不可见的层"templayer",稍后将内容复制到里面:
document.write('<div id="templayer"style="position:absolute;z-index:1;visibility:hidden"></div>');
function init(){ //初始化滚动内容
while(templayer.offsetWidth<marqueesWidth){
templayer.innerHTML+=marquees.innerHTML;
} //把"templayer"的内容的“两倍”复制回原内容区:
marquees.innerHTML=templayer.innerHTML+templayer.innerHTML;
//设置连续超时,调用"scrollUp()"函数驱动滚动条:
setInterval("scrollUp()",20);
}
document.body.οnlοad=init;
preTop=0; //这个变量用于判断滚动条是否已经到了尽头
function scrollUp(){ //滚动条的驱动函数
if(stopscroll==true) return; //如果变量"stopscroll"为真,则停止滚动
preTop=marquees.scrollLeft;
marquees.scrollLeft+=1;
//如果滚动条不动了,则向上滚动到和当前画面一样的位置
//当然不仅如此,同样还要向下滚动一个像素(+1):
if(preTop==marquees.scrollLeft){
marquees.scrollLeft=templayer.offsetHeight-marqueesWidth+1;
}
}
-->
</script>
ASPX.CS页面代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetData();
}
}
public string gettitle(string s)
{
if (s.Length > 11) return s.Substring(0, 10) + "...";
return s;
}
protected void GetData()
{
string sql = "SELECT Top 5 * FROM TB_JPXL WHERE (JP_ShowYN = 1) order by JP_ID desc";
PagedDataSource pds = new PagedDataSource();
pds.DataSource = DBDS.DB(sql).Tables[0].DefaultView;
QiYeRY.DataSource = pds;
QiYeRY.DataBind();
}
DBDS类代码:
public static DataSet DB(string sql)
{
SqlDataAdapter dap = new SqlDataAdapter(sql,ConfigurationManager.AppSettings["connstr"]);
DataSet ds = new DataSet();
dap.Fill(ds);
return ds;
}