本文实例讲述了JS实现的表头列头固定页面功能。分享给大家供大家参考,具体如下:
这里的示例演示了一个table页面,并固定表头或者列头,以达到excel冻结列的效果,主要使用的js的scrollTop,scrollLeft.
一.js中scrollTop及scrollLeft的使用说明
scrollTop指的是“元素中的内容”超出“元素上边界”的那部分的高度。例如:外层元素的高度值是200px,内层元素的高度值是300px。很明显,“外层元素中的内容”高过了“外层元素”本身.当向下拖动滚动条时,有部分内容会隐没在“外层元素的上边界”之外,scrollTop就等于这部分“不可见的内容”的高度。
scrollLeft同上.
二.页面示例
页面示例代码如下:
/p>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
表头列头固定 -- Sarabody{font-size:12px;}
.t_n{width:30px; heihgt:240px!important; height:242px; background:buttonface; float:left; border-bottom:1px solid #000; border-left:1px solid #000}
.t_n span{display:block; text-align:center; line-height:20px; border:1px solid #000; width:28px; height:20px}
.t_number{border-right:1px solid #000; width:100%; margin-bottom:5px}
.t_number td{border-bottom:1px solid #000; width:30px; height:25px; text-align:center}
.dd{height:200px!important; height:208px; overflow-y:hidden;}
.t_i{width:400px; height:auto; float:left; border-right:1px solid #000; border-top:1px solid #000}
.t_i_h{width:100%; overflow-x:hidden; background:buttonface;}
.ee{width:618px!important; width:620px}
.t_i_h table{width:600px;}
.t_i_h table td{border-right:1px solid #000; border-bottom:1px solid #000; height:20px; text-align:center}
.cc{width:100%; height:220px; border-bottom:1px solid #000; border-right:1px solid #000; background:#fff; overflow:auto;}
.cc table{width:600px; }
.cc table td{height:25px; border-bottom:1px solid #000; border-right:1px solid #000; text-align:center}
function aa(){
var a=document.getElementById("cc").scrollTop;
var b=document.getElementById("cc").scrollLeft;
document.getElementById("dd").scrollTop=a;
document.getElementById("hh").scrollLeft=b;
}
序号
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
标题A | 标题B | 标题C | 标题D | 标题E | 标题F |
1 | 1 | 1 | 1 | 1 | 1 |
2 | 2 | 2 | 2 | 2 | 2 |
3 | 3 | 3 | 3 | 3 | 3 |
4 | 4 | 4 | 4 | 4 | 4 |
5 | 5 | 5 | 5 | 5 | 5 |
6 | 6 | 6 | 6 | 6 | 6 |
7 | 7 | 7 | 7 | 7 | 7 |
8 | 8 | 8 | 8 | 8 | 8 |
9 | 9 | 9 | 9 | 9 | 9 |
10 | 10 | 10 | 10 | 10 | 10 |
效果图如下:
希望本文所述对大家JavaScript程序设计有所帮助。