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