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