鎖定表頭的Javascript腳本
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
/**//** 功能:鎖定表頭行,表頭滾動到頁面頂部之后就自動鎖定在頂部了。 如果表格寬度是根據(jù)百分比決定的,在頁面大小改變時可以自動調(diào)整表頭寬度。 使用方法:var lth = new LockTableHead('tableId'); 在IE 6上通過測試。 */ function LockTableHead(tableId) ...{ var t = document.getElementById(tableId); var ttrs = t.getElementsByTagName('tr'); var top, left; var nt; this.ResizeTableHead = _ResizeTableHead; if (t) ...{ nt = t.cloneNode(true); for(var i = nt.rows.length - 1; i > 0; i--) ...{ nt.deleteRow(i); } document.body.appendChild(nt); _ResizeTableHead(); document.body.onscroll = _ScrollHead; document.body.onresize = _ResizeTableHead; } function _ScrollHead() ...{ window.status = top; if (document.body.scrollTop >= top) ...{ nt.style.top = document.body.scrollTop; } else ...{ nt.style.top = top; } } function _ResizeTableHead() ...{ nt.style.width = t.offsetWidth; nt.style.position = 'absolute'; nt.style.height = ""; top = t.offsetTop; left = t.offsetLeft; var t2 = t; while(t2.offsetParent) ...{ t2 = t2.offsetParent; top += t2.offsetTop; left += t2.offsetLeft; } nt.style.left = left; _ScrollHead(); nt.style.zIndex = 100; // var nttrs = nt.getElementsByTagName('tr'); for(var i = 0; i < nttrs[0].childNodes.length; i++) ...{ nttrs[0].childNodes[i].style.width = ttrs[0].childNodes[i].offsetWidth; nttrs[0].childNodes[i].style.height = ttrs[0].childNodes[i].offsetHeight; } } } 把上面這段腳本保存為“LockTableHead.js”,在頁面代碼中加入對此腳本的引用, <script language="javascript" src="LockTableHead.js"></script> 然后在頁面中加入如下代碼,把“TableId”換成想要鎖定表頭的表的ID即可 <SCRIPT LANGUAGE="JavaScript"> <!-- var lth = new LockTableHead("TableId"); //-->
</SCRIPT> 備注:這個腳本只實現(xiàn)了鎖定表頭是一行的情況,對于多行表頭的情況還沒有實現(xiàn)。 該文章在 2010/10/24 9:21:10 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |