置顶表头(Sticky Table Headers)

2019-06-28 07:44发布

我使用这个插件来实现我的一个棘手的表头表 。 其实作为插件例子,在我的网页,表头消失了一下后在表中的最后一行。 我希望我的表头消失什么时候最后一行gone.There是有机会做到这一点?

Answer 1:

这里有一个工作示例: 小提琴

所有我改变了这一行的末尾:

if ((scrollTop > offset.top) && (scrollTop < offset.top + $this.height()-base.$clonedHeader.height())) {


Answer 2:

你可以添加在github一个bug报告:

https://github.com/jmosbech/StickyTableHeaders/issues



Answer 3:

我知道这是老了,但我觉得奉献的东西,可以帮助一些...

对于动态表(其中每个单元的宽度是预先计算的),这个插件弄乱为标题行的宽度。

我做了帮助计算基于从基于第一TBODY行的单元,每个单元outerWidth宽度的一些变化。

首先注释掉插件当前的宽度计算:

base.updateWidth = function () {
        // Copy cell widths and classes from original header
        $('th', base.$clonedHeader).each(function (index) {
            var $this = $(this);
            var $origCell = $('th', base.$originalHeader).eq(index);
            this.className = $origCell.attr('class') || '';
            //$this.css('width', $origCell.width());
        });

        // Copy row width from whole table
        //base.$clonedHeader.css('width', base.$originalHeader.width());
    };

    // Run initializer
    base.init();

然后添加以下到base.toggleHeaders的末尾=函数(){

// Set cell widths for header cells based on first row's cells
var firstTr = $this.children("tbody").children("tr").first();
var iCol = 0;
$(firstTr).children("td:visible").each(function() 
{
    var colWidth = $(this).outerWidth();
    console.log(colWidth.toString());
    var headerCell = $this.children("thead.tableFloatingHeader").children("tr").children("th:eq(" + iCol + ")");
    var firstRowCell = $this.children("tbody").children("tr:first").children("td:eq(" + iCol + ")");
    $(headerCell).outerWidth(colWidth);
    $(firstRowCell).outerWidth(colWidth);

    iCol++;
});


Answer 4:

我写了一个jQuery库,使得表中可以固定在页面的顶部,正好消失时,最后一行是走了

这是一个小的jquery库函数与ScrollFix组合https://github.com/ShiraNai7/jquery-scrollfix库来提供固定的下方的主菜单的标题表。 该库还支持在同一页面上的几个表

https://github.com/doska80/ScrollTableFixed



文章来源: Sticky Table Headers