3

我正在尝试制作一个表格,a)可以按列排序,b)在保持标题不变的同时有一个用于正文的滚动条。为了创建我的表格(我仍在学习 HTML 和 JavaScript),我基于以下示例: Body scrollTable Sorter。所以我的代码看起来与那些非常相似。

内容是在从数据库加载时生成的,效果很好。如果我只是在我的代码中使用排序功能,它也可以正常工作,如果我只对正文实现滚动也是如此。当我尝试合并它们时出现问题。发生的情况是标题显示得很好,而正文显示就好像其父容器仅具有第一列的宽度。

<table id="myTable" class="tablesorter">
  <thead class="fixedHeader">
    <tr>
     <th><span class="text">Group</span></th>
     <th><span class="text">Activities</span></th>
     <th><span class="text">Classes</span></th>
     <th><span class="text">Discussions</span></th>
     <th><span class="text">Happy Hours</span></th>
     <th><span class="text">Parties</span></th>
     <th><span class="text">Workshops</span></th>
   </tr>
  </thead>
  <tbody class="scrollContent">
    <tr>
      <td>Austin TNG</td>
      <td></td>
      <td></td>
      <td><iframe iconcolor="#0000FF" src="SVG/Discussionx.svg" style="height:30px;width:30px;border:0px;color:white">1</iframe></td>
      <td><iframe iconcolor="#0000FF" src="SVG/HHG.svg" style="height:30px;width:30px;border:0px;color:white">2</iframe></td>
      .....
    </tr>
    <tr>
     <td>...</td>
     ....
    </tr>
    ....
  </tbody>
</table>

这部分的 CSS 是:

div.table-scroll{
  height:100%;
  width:85%;
  float:left;
  overflow:hidden; 
}

table.tablesorter {
    font-family:arial;
    background-color: #FFFFFF;
    margin:10px 0pt 15px;
    font-size: 90%;
    width: 100%;
    max-height: 100%;
    height:auto;
    text-align: center;
    /*table-layout: fixed;*/    
}

table.tablesorter thead tr .header {
    background-image: url(bg.gif);
    background-repeat: no-repeat;
    background-position: center right;
    cursor: pointer;
    height:30px;
}

table.tablesorter thead tr th {
    background-color: #000000;
    color: #FFFFFF;
    border: 1px solid #000000;
    font-size: 120%;
    padding: 4px;
    height:30px;
    position: relative;
    overflow-x:hidden;
}

table.tablesorter tbody.scrollContent {
    height: 85%;
    width: 100%;
    display: block;
    overflow:auto;
}

table.tablesorter tbody td {
    color: #3D3D3D;
    padding: 4px;
    background-color: #FFF;
    vertical-align: middle;
    height:30px;    
}

如您所见,滚动条显示在第一列结束的位置。应该是“车间”栏结束的时候。

知道是什么原因造成的吗?“检查元素”部分中的代码对我来说似乎是正确的,这是我的浏览器看到 Javascript 生成的代码的方式。如果有人能给我一个关于在哪里解决这个问题的想法,我将不胜感激。

4

0 回答 0