table持续滚动

本文介绍了一个简单的JavaScript实现表格(Table)持续滚动的Demo。通过在Table外部添加固定高度的div,并设置溢出隐藏,利用scrollTop属性实现滚动效果。当滚动到顶部时可能会出现轻微卡顿问题。

做了个简单的table滚动demo

思路:早table外部加一个div标签 设置固定高度,这个高度是table tr的高度的倍数就可以了,

然后溢出隐藏,在用js设置scrollTop 就可以实现滚动特效,如果超出就变为0.

因为是用scrollTop,变成0的时候难免会有点卡顿。

 

代码:

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
		<title></title>
		<link href="css/mui.min.css" rel="stylesheet" />
		<style type="text/css">
			.main{
				width: 100%;
				padding: 2em;
			}
			.scrolldiv{
				height: 120px;
	         	overflow: hidden;
			}
			table{
	    		width: 100%;
	         	overflow: hidden;
    	}
    	table tr{
    		line-height:24px;
    	}
    	table td{
    		text-align: center;
    		color: #F4C7FD;
    	}
    	table tr:nth-child(odd){
			background: #8C49F1;
		}
		table tr:nth-child(even){
			background: #7C35EB;
		}
		</style>
	</head>
	<body>
		<div class="main">
			<div class="scrolldiv" id="scrolldiv">
		<table class="" id="tableid">
				 <tr>
				 <td>{$vo.time}</td>
				 <td>{$vo.prize_name}</td>
				 <td>受理成功</td>
				 </tr>
				 <tr>
				 <td>{$vo.time}</td>
				 <td>{$vo.prize_name}</td>
				 <td>受理成功</td>
				 </tr>
				 <tr>
				 <td>{$vo.time}</td>
				 <td>{$vo.prize_name}</td>
				 <td>受理成功</td>
				 </tr>
				 <tr>
				 <td>{$vo.time}</td>
				 <td>{$vo.prize_name}</td>
				 <td>受理成功</td>
				 </tr>
				  <tr>
				 <td>{$vo.time}</td>
				 <td>{$vo.prize_name}</td>
				 <td>受理成功</td>
				 </tr>
				  <tr>
				 <td>{$vo.time}</td>
				 <td>{$vo.prize_name}</td>
				 <td>受理成功</td>
				 </tr>
		</table>
		<table class="" id="tableid2">
		</table>
		</div>
		</div>
		<script src="js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
 var table = document.getElementById("tableid");
 var scrolldiv = document.getElementById("scrolldiv");
 let length = table.getElementsByTagName("tr").length;
var speed = 40;
function Marquee() {
		if (scrolldiv.scrollTop > table.clientHeight) {
			scrolldiv.scrollTop = 0;
		} else {
			scrolldiv.scrollTop++;
		}
}
if((length*24) > scrolldiv.clientHeight){
	let table2 = document.getElementById("tableid2");
	table2.innerHTML = table.innerHTML;
	var MyMar = setInterval(Marquee, speed);
}			
		</script>
	</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值