Javascript 修复表头

标签 javascript css

我在修复表头时遇到问题,这是我的问题:

我使用了这篇文章中的相同代码: Table header to stay fixed at the top when user scrolls it out of view with jQuery

它几乎可以工作,但问题是当我向下滚动时标题的宽度发生了变化。

我想知道我做错了什么。我尝试了以下代码来修复宽度,但不起作用。

$("#header-fixed td").each(function(index){
var index2 = index;
$(this).width(function(index2){
    return $("#table-1 td").eq(index).width();
});
});

这是链接: http://vvb.me/test.html

最佳答案

表格单元格的宽度不仅取决于该特定表格单元格的内容,还取决于与它位于同一垂直列中的其他单元格。这是因为表格形成 block ,所以列的宽度必须对齐。

此处发生的情况是,计算出的附加 thead 单元格的宽度与为分离的固定 thead 单元格计算出的宽度不同。

在所附的thead中,单元格的宽度主要由下面的数据决定。在未附加到 tbody 的第二个实例中,宽度仅由 header td 决定。

一种解决方案是在两个theads 中指定单元格的宽度。例如,指定,

<td style='...; width: 50px;'>

在所有 thead 单元格上将使它们相等。

您还可以使用 javascript 确定每个附加的 thead 单元格的宽度,并将底部的 thead 单元格设置为与其对应的单元格相等。可以使用 Javascript/Jquery 计算 DOM 元素的维度。查看答案 like this one有关如何做到这一点的方法。

关于Javascript 修复表头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15931729/

相关文章:

javascript - phonegap->不使用GPS查找手机的位置(可以使用互联网)

javascript - 辅助功能:aria-haspopup 可以用来做什么?

javascript - 基本计算器,如何使按钮输入值到文本字段

html - 表格形式控件 HTML css

javascript - 尝试从外部 JS 文件调用函数

javascript - 获取 "change"以在 IE9 中工作

javascript - 表格单元格中的 JS 工具提示位置

javascript - 仅将 Twitter Bootstrap 用于网站的一个子集

CSS 判断页面是否在顶部的方法

javascript - 解析 JQuery 中的值?