您的位置:首页 > Web前端 > JavaScript

用js实现table内容从下到上连续滚动

2014-04-03 13:48 381 查看
网上有很多用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都可以兼容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: