4

我有一个表格,它可能有足够的行来填满屏幕,我希望能够添加另一列而不是占用页面上的垂直空间。在某个点(8 行?)我希望其余的行转移到一个新列中。

我现在拥有的:

在此处输入图像描述

我想要的是: 在此处输入图像描述

这是表格的html示例:

<table class="base-table">
    <thead>
        <td></td>
        <td></td>
        <td></td>
        <td>min</td>
        <td>avg</td>
        <td>max</td>
    </thead>
    <tbody>
        <tr>
            <td><input type="checkbox"></td>
            <td><div style="border:1px solid #ccc;padding:1px;background: white;"><div style="width:4px;height:0;border:5px solid rgb(255, 0, 0);overflow:hidden"></div></div></td>
            <td class="disabled"> stuff </td>
            <td class="disabled"> stuff </td>
            <td class="disabled"> stuff </td>
            <td class="disabled"> stuff </td>
            <td><button id="refresh-stats">Refresh</button></td>
        </tr>
    </tbody>
</table>
4

2 回答 2

1

您需要做的基础是计算您要附加的当前单元格编号,并在每 8 次添加后重置它。这至少应该让你开始;一些附加对您来说可能会更复杂:

var row = 1, table = document.querySelector('table');
document.querySelector('input').addEventListener('click', function () {
    if (!table.rows[row % 8]) {
        table.appendChild(document.createElement('tr'));
    }
    table.rows[row++ % 8].appendChild(document.createElement('td'));
});

http://jsfiddle.net/ExplosionPIlls/kVmgm/

于 2013-03-23T17:46:22.957 回答
0

当您达到所需的最大行数时,只需创建一个新表。如果您将它们向左浮动,您将获得所需的效果

于 2013-03-23T17:55:49.280 回答