好吧,這是一個益智遊戲...用w/jQuery設置表格單元格寬度
我有一張動態繪製的表格。類別標籤以黃色顯示,項目標籤以綠色顯示。
所在的表所在的區域是有限的,所以我需要截斷內使用jQuery插件細胞長標籤。該插件允許使用寬度的數字值或「自動」,但我想添加一些登錄來確定數值應該是什麼。
表格寬度爲700px。 我也可以使用jQuery來計算存在多少種類的列。 我也可以確定什麼是綠色區域中最寬的標籤。這是我的代碼:
// widest item label (GREEN)
var w = 0;
$(".tData tr td:nth-child(1)").each(function(){
if($(this).width() > w){
w = $(this).width();
}
});
// count category columns (YELLOW)
var colCount = 0;
$(".tData tr:first th:gt(0)").each(function() {
if ($(this).attr("colspan")) {
colCount += +$(this).attr("colspan");
} else {
colCount++;
}
});
var tableWidth = 700,
minWidthCat = 30,
maxWidthCat = 100,
minWidthItem = 100
maxWidthItem = 300;
widthCat = minWidthCat;
widthItem = minWidthItem;
catWmin = Math.floor((tWidth - minWidthCard)/colCount);
catWmax = Math.floor((tWidth - maxWidthCard)/colCount);
// NEED HELP HERE!!!
if() {
}
// truncate categories
$(".tData tr:first th:gt(0)").truncate({
width: widthCat
});
// truncate items
$(".tData tr td:nth-child(1)").truncate({
width: widthItem
});
需要最有意義的邏輯幫助。如果我不必截斷,我寧願不設置類別列的寬度,但它們必須是所有相同的寬度。
你想第一列的最長長度_contents_考慮?我應該如何理解這一點?否則,如果你正在尋找行寬,就像從該列中獲取任何行並獲取其寬度一樣簡單 - 這就是表格顯示的方式。 –
不,我可以得到第一列中最長刺的寬度。我認爲,如果我知道它是什麼,它會幫助我確定是否將截斷添加到它。 – santa