如何将td文本对齐到单元格可见部分的顶部?

时间:2013-07-23 15:04:49

标签: javascript jquery html css

我的表包含两列:对象名称和对象。名字只是一个字。对象可以占用多个屏幕。我希望在其单元格的可见部分之上保留名称。在这种情况下,当用户向下滚动页面时,他可以看到对象的名称,直到隐藏对象。我怎样才能做到这一点?是否有插件可以这样做?

3 个答案:

答案 0 :(得分:2)

这只是几行jQuery。 http://jsfiddle.net/VuRvs/ 将处理程序附加到窗口滚动事件,找到“粘性”标题,根据当前滚动位置定位它们,确保它们保留在其父元素(TD)内。

$(window).on("scroll", function() {
    var y = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
    $(".sticky").each(function() {
        var elm = $(this);
        var td = elm.parent("td");
        var tdTop = td.offset().top;
        var tdBot = tdTop + td.height() - elm.outerHeight();
        if(y <= tdBot && y >= tdTop) {
            // set a placeholder
            if(td.children().length == 1)
                td.append(elm.clone().removeClass("sticky").css("visibility", "hidden"));
            elm.css("position", "absolute");
            elm.css("top", y + "px");
        }
    });
});

答案 1 :(得分:1)

您所描述的是一个持久性标题,或像Excel一样的冻结窗格。

检查this link,很好地解释了。

答案 2 :(得分:0)

我不确定你的要求。你可以看看这个 http://tablesorter.com/docs/.希望它可以帮助你。