js Table冻结表头示例代码

本文提供了一个简单的JavaScript代码示例,用于实现表格的冻结表头功能。通过改变DOM元素的样式和监听滚动事件,使得表格的第一行始终保持在视口内,无论页面滚动到何处。
Table冻结表头的js实现代码。
Table冻结表头:
<script type="text/javascript">
//冻结table的表头 
function fixupFirstRow(tab) { 
var div=tab.parentNode; 
if(div.className.toLowerCase()=="freezediv"){ 
tab.rows[0].style.zIndex="1"; 
tab.rows[0].style.position="relative"; 
div.onscroll =  function(){ 
var tr = tab.rows[0]; 
tr.style.top =  this.scrollTop-( this.scrollTop==0?1:2); 
tr.style.left=-1; 



//加载

//by www.jbxue.com
window.onload = function(){ 
var tab=document.getElementById("freezedivTable"); 
if(tab){ 
fixupFirstRow(tab); 


</script> 

html源码: 
<% @ page language = " java "  import = " java.util.* "  pageEncoding = " utf-8 " %>  
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" > 
< html > 
< head > 
< script  type ="text/javascript" > 
function fixupFirstRow(tab) { 
var div=tab.parentNode; 
if(div.className.toLowerCase()=="freezediv"){ 
tab.rows[0].style.zIndex="1"; 
tab.rows[0].style.position="relative"; 
div.onscroll =  function(){ 
var tr = tab.rows[0]; 
tr.style.top =  this.scrollTop-( this.scrollTop==0?1:2); 
tr.style.left=-1; 




window.onload =  function(){ 
var tab=document.getElementById("freezedivTable"); 
if(tab){ 
fixupFirstRow(tab); 


</ script > 
</ head > 
< body > 
< div  class ="freezediv"  style ="width:100%;height:100px;overflow:auto;" > 
< table  id ="freezedivTable"  style ="width:100%;"  border ="1" > 
< tr  bgcolor ="white" > 
< th  width ="25%" >序号 </ th > 
< th  width ="25%" >内容 </ th > 
< th  width ="25%" >序号 </ th > 
< th  width ="25%" >内容 </ th > 
</ tr > 
< tr > 
< td >1 </ td > 
< td >内容 </ td > 
< td >11 </ td > 
< td >内容 </ td > 
</ tr > 
< tr > 
< td >2 </ td > 
< td >内容 </ td > 
< td >22 </ td > 
< td >内容 </ td > 
</ tr > 
< tr > 
< td >3 </ td > 
< td >内容 </ td > 
< td >33 </ td > 
< td >内容 </ td > 
</ tr > 
< tr > 
< td >4 </ td > 
< td >内容 </ td > 
< td >44 </ td > 
< td >内容 </ td > 
</ tr > 
< tr > 
< td >5 </ td > 
< td >内容 </ td > 
< td >55 </ td > 
< td >内容 </ td > 
</ tr > 
< tr > 
< td >6 </ td > 
< td >内容 </ td > 
< td >66 </ td > 
< td >内容 </ td > 
</ tr > 
< tr > 
< td >7 </ td > 
< td >内容 </ td > 
< td >77 </ td > 
< td >内容 </ td > 
</ tr > 
< tr > 
< td >8 </ td > 
< td >内容 </ td > 
< td >88 </ td > 
< td >内容 </ td > 
</ tr > 
< tr > 
< td >9 </ td > 
< td >内容 </ td > 
< td >99 </ td > 
< td >内容 </ td > 
</ tr > 
< tr > 
< td >10 </ td > 
< td >内容 </ td > 
< td >1010 </ td > 
< td >内容 </ td > 
</ tr > 
</ table > 
</ div > 
</ body > 
</ html > 
posted on 2013-08-21 11:36 snowfly123 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/linuxnotes/p/3272303.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值