1. 程式人生 > >用js實現table內容從下到上連續滾動

用js實現table內容從下到上連續滾動

網上有很多用ul實現新聞列表滾動的例子,但是很少有直接用table實現列表內容滾動的例子,而Marquee標籤滾動的效果不是很好,於是自己寫了一個,提供給攻城師朋友們參考

實現思路:由於table包含標題和內容,實際上理想的效果是標題不動,內容滾動,於是把標題和內容拆分出來放在兩個table中

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
<head>
<title>table內容連續滾動</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
* {padding: 0; margin: 0};
td {height: 28px;};
</style>
</head>
<body bgcolor="#FFFFFF">
<div style="padding-top: 100px;">
<table width="600" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="4FBFF9">
	<tr>
		<td width="120" align="center">業務流水號</td>
		<td width="130" align="center">業務名稱</td>
		<td width="150" align="center">申請企業名稱</td>
		<td width="100" align="center">申報日期</td>
		<td width="100" align="center">辦理狀態</td>
	</tr>
</table>
</div>
<div id="demo" style="overflow: hidden; height: 240;">
	<div id="demo1">
		<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="4FBFF9">
			<tr>
				<td width="120" align="center">201404020001</td>
				<td width="130">測試業務</td>
				<td width="150">申請企業名稱</td>
				<td width="100" align="center">2014-03-13</td>
				<td width="100" align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020002</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020003</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020004</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020005</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020006</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020007</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020008</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020009</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020010</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020011</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020012</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020013</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020014</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020015</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020016</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020017</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020018</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020019</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
			<tr>
				<td align="center">201404020020</td>
				<td>測試業務</td>
				<td>申請企業名稱</td>
				<td align="center">2014-03-13</td>
				<td align="center">在辦</td>
			</tr>
		</table>
	</div>
	<div id="demo2"></div>
</div>
<script type="text/javascript">
var speed = 50;
demo2.innerHTML = demo1.innerHTML;
function Marquee() {
	if (demo2.offsetTop - demo.scrollTop <= 0) {
		demo.scrollTop -= demo1.offsetHeight;
	} else {
		demo.scrollTop++;
	}
}
var MyMar = setInterval(Marquee, speed);

demo.onmouseover = function() {
	clearInterval(MyMar);
}

demo.onmouseout = function() {
	MyMar = setInterval(Marquee, speed);
}
</script>
</body>
</html>

沒用使用外掛,直接將程式碼另存為html檔案,用瀏覽器開啟測試即可

經過測試,IE8、Chrome、Firefox都可以相容