javascript - 克隆并显示表格

标签 javascript jquery html-table

这相当棘手。我有一个比页面更宽的表格,因此用户必须水平滚动才能看到某些列。但随后他们就看不到最左边的(标题)列了。

我不负责表结构(在我看来相当奇怪的设置),但它是这样的:

<table>
    <tr>
        <td>[THE HEADER COLUMN (as a separate table)]</td>
        <td>[THE TABLE BODY (as a separate table)]</td>
    </tr>
</table>

因此,当用户将其滚动到 View 之外并将鼠标悬停到屏幕边缘时,我需要在屏幕边缘显示“标题列表”。

我认为克隆标题表然后临时显示它是解决此问题的方法(无法移动原始表,因为页面宽度会改变)。这似乎是一个有点困惑的解决方案(特别是因为原始列标题表具有与其关联的 ID)。

您认为这是正确的做法吗?有什么想法吗?

不需要需要任何 jQuery 事件处理方面的帮助,并且我不能使用可滚动表格来代替这种方法。

最佳答案

如果您将第一个表格的 css 设置为固定并将左侧设置为 0,那么它将粘附到屏幕的左边缘,您只需检查用户是否在每个滚动事件后开始滚动:

$(window).scroll( function(){ // fired after every scroll event
    if($(window).scrollLeft() > 0){ // check horizontal scroll
        $("#table1").css("position","fixed");
    } else {
        $("#table1").css("position","relative");
    }
});

关于javascript - 克隆并显示表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6358931/

相关文章:

css - 如何在 HTML 表格的列之间平均分配空格?

javascript - 解析 JSON - eval() 或函数对象?

javascript - 调整嵌入的谷歌地图

jquery - float Div - 停止清除/环绕

javascript - jQuery 在每个无法访问 $(this) 内创建间隔

html - 影响布局的未知表格/单元格填充/边距

javascript - Yii,将下拉列表值复制到隐藏的下拉列表

javascript - ng-repeat 在自定义指令中

jquery - 将 foreach 与 Bootstrap 的网格一起使用以列出元素