自己写的一个固定表头JS函数

//用于固定表头
//固定表头使用方法:
/* 1.添加固定表头容器控件divHeader <div id="divHeader" style="position:relative;top:expression(this.offsetParent.scrollTop-82);display:none"></div>
 *    top:expression(this.offsetParent.scrollTop-82) 数字82是该表头到页面顶部的距离,目前该数值须根据具体情况手动加入
 * 2.定义原显示表头如:<ul class="header" id="tbyHeader">
 *    要在该表头标签内添加 <!-- <div id="dataList"> <ul class="header"> -->注释表头,在程序运行时会用到
 * 3.做好以上两步以后,只需要在body onscroll事件中加入showFixedHeader事件即可即:<body οnscrοll="showFixedHeader()">
 */
function showFixedHeader(){
 var ctrlFixedHeader=$("divHeader");//固定表头的容器控件
 var displayedHeader=$("tbyHeader");//原表头控件,即目前默认显示的表头

 //如果页面中没有定义固定表头的容器控件,并且也未定义显示表头的控件,则无法固定表头
 if(typeof(ctrlFixedHeader)!="object"||ctrlFixedHeader==null) return;
 if(typeof(displayedHeader)!="object"||displayedHeader==null) return;

 var headerHTML=displayedHeader.innerHTML;

 var topLocations=displayedHeader.offsetParent.offsetTop;
 var headerHeight=displayedHeader.offsetHeight;

 if(ctrlFixedHeader.offsetParent.scrollTop>(topLocations+headerHeight)){
  ctrlFixedHeader.style.display="block";
 }else{
  ctrlFixedHeader.style.display="none";
 }
 
 headerHTML='<table id="tbDataListx" width="100%" cellspacing="0" cellpadding="1" frame="hsides" border="1">'+headerHTML+'</table>';

 ctrlFixedHeader.innerHTML=headerHTML;
 ctrlFixedHeader.style.top=divHeader.offsetParent.scrollTop-SCROLL_HEIGHT;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值