.net文字滚动问题
文字滚动已经实现不过 滚动我要求显示的数据是3条
数据库里读出来 也是 TOP 3
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using JK.CommonWeb2;
using JKOSFacade;
using System.Data;
namespace JKOS.MessageFrame
{
public partial class AfficheMessage :PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
getInfoData();
}
}
private void getInfoData()
{
string sql = "select top 3 * from Tab_OA_Bulletin where Status='1' order by ID desc";
JKOSFacade.SysManagerFacade jkos = new SysManagerFacade();
DataSet ds = jkos.getDataSetBySql(sql);
foreach(DataRow dr in ds.Tables[0].Rows)
{
this.Label1.Text += "<div style=\"width:100%; word-wrap:break-word;\"><b>·</b>" + dr["BContent"].ToString() + " (" + Convert.ToDateTime(dr["CreateTime"]).ToString("yyyy-MM-dd") + ")</div>";
}
}
}
}
页面源代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AfficheMessage.aspx.cs"
Inherits="JKOS.MessageFrame.AfficheMessage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>JKOS</title>
<link href="../App_Themes/default/main.css" rel="stylesheet" type="text/css" />
<style type="text/css">
html, body
{
height: 100%;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div id="marquees" style="border: 1px dashed red;width:100%;height:300px;">
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</div>
</form>
</body>
<script language="javascript">
<!--
marqueesHeight=200; //内容区高度
stopscroll=false; //这个变量控制是否停止滚动
with (marquees) {
noWrap = true; //这句表内容区不自动换行
// style.width = 0; //于是我们可以将它的宽度设为0,因为它会被撑大
style.height = marqueesHeight;
style.overflowY = "hidden"; //滚动条不可见
onmouseover = new Function("stopscroll=true"); //鼠标经过,停止滚动
onmouseout = new Function("stopscroll=false"); //鼠标离开,开始滚动
}
//这时候,内容区的高度是无法读取了。下面输出一个不可见的层"templayer",稍后将内容复制到里面:
document.write('<div id="templayer" style="position:absolute;z-index:1;visibility:hidden"></div>');
function init() { //初始化滚动内容
//多次复制原内容到"templayer",直到"templayer"的高度大于内容区高度:
while (templayer.offsetHeight < marqueesHeight) {
templayer.innerHTML += marquees.innerHTML;
}
//把"templayer"的内容的“两倍”复制回原内容区:
marquees.innerHTML = templayer.innerHTML + templayer.innerHTML;
//设置连续超时,调用"scrollUp()"函数驱动滚动条:
setInterval("scrollUp()", 50);
}
document.body.onload=init;
preTop=0; //这个变量用于判断滚动条是否已经到了尽头
function scrollUp() { //滚动条的驱动函数
if (stopscroll == true) return; //如果变量"stopscroll"为真,则停止滚动
preTop = marquees.scrollTop; //记录滚动前的滚动条位置
marquees.scrollTop += 1; //滚动条向下移动一个像素
//如果滚动条不动了,则向上滚动到和当前画面一样的位置
//当然不仅如此,同样还要向下滚动一个像素(+1):
if (preTop == marquees.scrollTop) {
marquees.scrollTop = templayer.offsetHeight - marqueesHeight + 1;
}
}
-->
</script>
</html>
--------------------编程问答-------------------- 这个效果在界面上显示的是循环那3条
现在是要只显示3条
循环显示 只显示3条 --------------------编程问答-------------------- 主要是 脚本 的问题
希望高手看懂 能给我 详细的脚本 --------------------编程问答-------------------- 脚本抄来的吧,(*^__^*) ……
自己写的话一般是不会注释的如此详细 --------------------编程问答--------------------
--------------------编程问答-------------------- --------------------编程问答--------------------
<div id=rolllink style="overflow: hidden; width: 100px; height: 30px">
<div id=rolllink1>
<table cellspacing=5 width="100%">
<tr><td>第一行</td></tr>
<tr><td>第二行</td></tr>
<tr><td>第三行</td></tr>
</table>
</div>
<div id=rolllink2></div>
</div>
<script>
var rollspeed=30
rolllink2.innerHTML=rolllink1.innerHTML //克隆rolllink1为rolllink2
function Marquee(){
if(rolllink2.offsetTop-rolllink.scrollTop<=0) //当滚动至rolllink1与rolllink2交界时
rolllink.scrollTop-=rolllink1.offsetHeight //rolllink跳到最顶端
else{
rolllink.scrollTop++
}
}
var MyMar=setInterval(Marquee,rollspeed) //设置定时器
rolllink.onmouseover=function() {clearInterval(MyMar)}//鼠标移上时清除定时器达到滚动停止的目的
rolllink.onmouseout=function() {MyMar=setInterval(Marquee,rollspeed)}//鼠标移开时重设定时器
</script>
o(∩_∩)o...,JF --------------------编程问答--------------------
Dotnet.Silverlight......[qq群34129441]
补充:.NET技术 , ASP.NET