这非常棘手。我有一个比页面宽的表,因此用户必须水平滚动才能看到某些列。但随后他们忽视了最左边(标题)的列。
我不负责桌面结构(非常奇怪的设置IMO),但它是这样的:
<table>
<tr>
<td>[THE HEADER COLUMN (as a separate table)]</td>
<td>[THE TABLE BODY (as a separate table)]</td>
</tr>
</table>
因此,当用户将其滚动到视图外时,我需要在屏幕边缘显示“标题列表”,并将鼠标悬停在屏幕边缘。
我认为克隆标题表然后暂时显示它是这样的方法(不能移动原始,因为页面宽度会改变)。这似乎是一个混乱的解决方案(特别是因为原始列标题表具有与之关联的ID)。
你认为这是正确的方法吗?有任何想法吗?
我不需要任何jQuery事件处理的帮助,我不能使用可滚动表而不是这种方法。
如果您将第一个表的css设置为fixed并保持为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");
}
});