我在使用JavaScript處理HTML表格時遇到了縮放問題。如何在JavaScript中明確設置HTML表格列寬度
我有一個JavaScript代碼blob,從JSON數組動態創建一個表。 它修復了標題並允許表體滾動,並且它工作正常。
標題是一個單獨的表格,我強烈控制單元格寬度以確保標題表格的單元格與主體表格單元格匹配。
主體表單元格都顯式設置其寬度。
我迭代表中的行,然後將該循環內的單元格交織,並設置每個單元格的寬度。
此迭代不縮放,因爲行數增加到100,列數增加到40個,我聽到Firefox抱怨腳本掛起或沒有響應。它沒有響應,因爲它忙於設置所有單元寬度。
nz.dynatable.setTableColumnWidths = function (table, arrayColumnWidths) {
// Iterate the table and set width settings for each cell
for (var i = 0; i < table.rows.length; ++i) {
for (var j = 0; j < table.rows[i].cells.length; ++j) {
var width = arrayColumnWidths[j] || 0;
table.rows[i].cells[j].style.width = width.toString() + "px";
}
}
}
問:是否可以爲一行中的表設置單元格寬度,並讓表中的所有其他單元格與此一致? Firefox是否因爲更改單元格寬度而導致重新計算每個循環中的表大小?
完整的代碼塊是在公共GitHub庫:https://github.com/Hiblet/DynaTable
你嘗試只做第一排?這是普通的表格行爲。 – isherwood 2014-09-24 17:21:30
是的,這是舊學校的伎倆,只是在第一行設置你的寬度 - 並祈禱沒有涉及到的集體:P 任何人都使用colgroup了? – wwwmarty 2014-09-24 18:06:22
沒有集體,這一切都在我的控制之下。會給第一行一個去,如果這樣做會大大加快這一部分。將明天嘗試,謝謝你的回覆。 – 2014-09-24 22:52:21