固定/冻结行表头、列表头的做法
栏目: JavaScript · 发布时间: 6年前
内容简介:本文只讲思路和注意事项。本文的固定行表头、列表头要比某些网站的复杂些,因为他们讲的是一个窗口中只有要滚动的表格,而我们是一个窗口中有很多内容,其他内容区域不动,只有表格滚动,同时表格的表头也固定。固定行表头相对来说要简单得多。
本文只讲思路和注意事项。本文的固定行表头、列表头要比某些网站的复杂些,因为他们讲的是一个窗口中只有要滚动的表格,而我们是一个窗口中有很多内容,其他内容区域不动,只有表格滚动,同时表格的表头也固定。
固定行表头
固定行表头相对来说要简单得多。
1、将表格放一个 div 中,为这个表格设置高度(如果想做随窗口而变化的自动高度,就用 position:absolute; bottom:xxxpx;……)。为这个表格设置 overflow-y:scroll。现在滚动的表格就出来了。
2、另起一个 table,和上面的 div 平级,table 仅含有表头。利用 CSS 将这个 table 和第 1 步的表格表头重叠。
3、完成了,但是还是有两个缺点,一是第 2 步的表格没有考虑第 1 步的滚动条占用的空间,二是窗口宽度变化时且 table 宽度是用的百分比就需要动态调整宽度,做法如下:
// 固定表头 $(".fixedRowContainer").width($(".dataTable").get(0).clientWidth); $(window).resize(function () { // 固定表头的尺寸随窗口变化而变化 $(".fixedRowContainer").width($(".dataTable").get(0).clientWidth); });
固定行、列表头
这个要复杂些,因为行列表头还要随数据表的滚动条滚动而滚动。
除了固定行表头那种思路外,额外增加两个思路:
1、增加一个左上角的表头,它是固定不动的,也就是行表头和列表头的公共部分。
2、使行表头随数据表横向滚动而滚动,列表头随数据表纵向滚动而滚动,代码如下:
// 表头联动 $(".dataTableContainer").scroll(function () { var that = $(this); // 行表头联动 $(".fixedRowContainer").get(0).scrollLeft = that.get(0).scrollLeft; // 列表头联动 $(".fixedColumnContainer").get(0).scrollTop = that.get(0).scrollTop; });
注意
注意单元格宽度、高度应该固定下来,否则容易导致表头和数据表单元格对不上。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 【每日一点】1. Java如何实现导出Excel单表头或多表头
- 移动端实现表头固定,tbody滚动,三种方法
- bootstrap-table实现表头固定以及列固定
- vue elementUI table 自定义表头和行合并
- Qt ModelView教程——设置表头与可编辑Table
- React Suite 4.1.1 版本发布,Table 表头支持页面级固定
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java程序设计与应用开发
於东军 / 清华大学出版社 / 2005-3 / 27.00元
本书作为Java程序的入门与应用教材,共分为3部分:第一部分讲解Java程序设计的基础知识,包括Java基本编程语言、面向对象设计思想、类、对象、接口以及异常处理。第二部分讲解Java程序设计的高级知识,包括:GUI编程、套接口编程、I/O系统、数据库访问以及多线程编程。第三部分详细分析一个实际项目的开发过程,包括系统分析及功能实现。在项目实例中综合应用第一、二部分的Java知识,能够帮助读者进一......一起来看看 《Java程序设计与应用开发》 这本书的介绍吧!
CSS 压缩/解压工具
在线压缩/解压 CSS 代码
URL 编码/解码
URL 编码/解码