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

Javascript 如何将td文本与单元格可见部分的顶部对齐?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我的表由两列组成:对象名和对象名。名字只是一个词。对象可以占用多个屏幕。我想把名字放在单元格可见部分的顶部。在这种情况下,当用户向下滚动页面时,他可以看到对象的名称,直到对象被隐藏。我该怎么做?有这样做的插件吗?只有几行jQuery。 将处理程序附加到窗口滚动事件,找到“粘性”标题,根据当前滚动位置定位它们,确保它们位于其父元素(TD)内 $(窗口).on(“滚动”,函数(){ 变量y=window.pageYOffset | | | document.documentElement.scrol

我的表由两列组成:对象名和对象名。名字只是一个词。对象可以占用多个屏幕。我想把名字放在单元格可见部分的顶部。在这种情况下,当用户向下滚动页面时,他可以看到对象的名称,直到对象被隐藏。我该怎么做?有这样做的插件吗?

只有几行jQuery。 将处理程序附加到窗口滚动事件,找到“粘性”标题,根据当前滚动位置定位它们,确保它们位于其父元素(TD)内

$(窗口).on(“滚动”,函数(){
变量y=window.pageYOffset | | | document.documentElement.scrollTop | | | document.body.scrollTop;
$(“.sticky”).each(函数(){
var elm=$(本);
var td=母公司母公司(“td”);
var tdTop=td.offset().top;
var tdBot=tdTop+td.height()-elm.outerHeight();
如果(y=tdTop){
//设置占位符
if(td.children().length==1)
append(elm.clone().removeClass(“sticky”).css(“可见性”、“隐藏”);
css(“位置”、“绝对”);
css(“top”,y+“px”);
}
});
});

您所描述的是一个持久性标题,或者是一个类似Excel的冻结窗格


检查,说明得很清楚。

您需要挂接scroll事件,计算屏幕的滚动位置,并绝对定位name标记。虽然不难,但也不是小事。您可能需要查找“浮动表标题”@这只是一个粗略的例子,若你们的用户想要打印这些表格,你们会遇到绝对定位的问题。如果打印成为问题,我将设置两个类“sticky”和“notsticky”,占位符(克隆元素)将具有“notsticky”类,并且在打印介质中,CSS notsticky将设置为可见,sticky将设置为显示:无
$(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");
        }
    });
});