2013-05-07 114 views
0

我在滚动div内有一个大表。该表格包含一个人的姓名,后面跟着他的详细信息。我需要表格的第一列在水平滚动时保持固定,以便在查看他的详细信息时该人员的姓名保持可见。与此类似:HTML table with horizontal scrolling (first column fixed)水平滚动时保持表格的一列固定,但也垂直滚动

但是,我的表格在y方向上也很大,所以当我向下滚动时,此人的名字也应该随其细节一起向上滚动。 This几乎可以解决我的问题,但不是垂直滚动。

请帮忙!

回答

0

对于垂直滚动,问题是保持页眉和页脚不变。做到这一点的最好方法是实际上有三个表格 - 一个用于标题,一个用于数据(可滚动的DIV),另一个用于页脚。如果表格列的宽度是固定的,那么这就是你需要做的。如果他们不是,那么你需要使用JavaScript来调整它们。但是这里有一个技巧 - 具有AUTO列宽度的表格不能保证使用在JS中指定的宽度,特别是如果列为空,或者标题文本项目很长。

我已经通过设置基于数据的标题宽度来处理此问题,查找浏览器是否调整大小,然后更改数据宽度。一旦它们靠近,我将表格设置为FIXED模式进行最终调整。

看一看这里:

http://hifi.goneill.co.nz/cd.php

点击爵士,古典等按钮看表。还请阅读技术说明页面,因为它描述了编码并试用了Ajax版本。

对于你的固定列,你可以做类似的事情:有两个表并使用其中一个的offsetTop设置另一个的scrollTop。查看我的表如何在排列具有空行的列时对顶部行进行排序,或者在切换标签页时保存并恢复Ajax版本中的当前行。

0

我试图解决固定列问题,其中一个表是在其他DIV控件内。在解决这个问题时,我遇到了同样的问题,并通过在“onscroll”事件中在ScrollTop属性中设置容器来找到解决方案。我申请以下风格的容器:

.floatingStyle 
{ 
    position:relative; 
    background-color:#829DC0; 
    top:0px; 
} 

你可以在这里看完整的解决方案:http://rajputyh.blogspot.in/2011/12/floatingfixed-table-header-in-html-page.html 有哪些还没有处理几个浏览器相关的问题。

相关问题