jmosbech/sticky-table-headers

jQuery粘性表头插件

v0.1.24 2018-01-14 22:29 UTC

This package is not auto-updated.

Last update: 2024-09-20 18:08:25 UTC


README

那么它有什么好处呢?比如说,你想显示一个相当统一的表格数据的长列表,比如 证券交易所上市信息体育统计数据,但你不想让用户在滚动页面时迷失在数据中。

使用 StickyTableHeaders 插件来解决这个问题:通过将 StickyTableHeaders jQuery 插件应用于表格,当您向下滚动时,列标题将粘在视口的顶部。

你可以尝试演示

代码基于 这个概念证明

安装

最佳的安装方式是使用 npm

npm install sticky-table-headers

Bower

bower install StickyTableHeaders

或直接从 unpkg CDN 加载

<script src="https://unpkg.com/sticky-table-headers"></script>

用法

初始化插件相当简单

$('table').stickyTableHeaders();

拆解

要移除插件

$('table').stickyTableHeaders('destroy');

手动触发更新

$(window).trigger('resize.stickyTableHeaders');

选项

你可以使用一个选项映射来初始化插件以调整行为。以下选项被支持

fixedOffset

一个数字或 jQuery 对象,指定粘性标题应该从页面顶部偏移多少

$('table').stickyTableHeaders({fixedOffset: $('#header')});

scrollableArea

一个 DOM 元素或 jQuery 对象。允许你覆盖哪个周围的元素正在滚动。默认为 window查看此演示的示例

$('table').stickyTableHeaders({scrollableArea: $('.scrollable-area')});

cacheHeaderHeight

性能调整:当设置为 true 时,插件将仅在表格宽度更改时重新计算表头单元格的高度。

默认值:false

$('table').stickyTableHeaders({cacheHeaderHeight: true});

z-index

插件使用 z-index 使 thead 覆盖 body。你可以通过传递一个 zIndex 选项来覆盖 z-index 值

$('table').stickyTableHeaders({zIndex: 999});

重新初始化

拉取请求 #33 中所述,响应式页面可能需要在用户调整浏览器大小时重新初始化插件。这可以通过使用新选项调用插件来完成

$('table').stickyTableHeaders({fixedOffset: [new-offset]});

事件

插件在目标 <table> 元素上触发以下事件

  • clonedHeader.stickyTableHeaders:当创建标题克隆时。
  • enabledStickiness.stickyTableHeaders:当粘性标题启用时。
  • disabledStickiness.stickyTableHeaders:当粘性标题禁用时。

困惑吗?

如果其中任何内容让您困惑,请查看 /demo 文件夹。那里有几个示例。例如,您可以查看如何与 Twitter Bootstrap 一起使用它。

已知问题

  • Internet Explorer:您需要显式在 css 中设置 <th> 的填充,以便插件能够正常工作
  • Internet Explorer:向表格添加水平边距会导致滚动时标题错位。(问题编号 #10)
  • 在使用插件与tablesorter插件一起使用时,在Internet Explorer 8中会出错

浏览器支持

插件已在以下浏览器中验证为可用:

  • Chrome 35
  • Firefox 29
  • Internet Explorer 8-11
  • Safari 5

注意:在Internet Explorer 7中不可用(但表现良好)