2014-10-21 44 views
0

我正在使用GWT FlexTable顯示數值。GWT FlexTable中單元格顏色的淡入淡出

如果我使用一個標籤標籤和setWidget(行,列,標籤),我可以使用gwtquery褪色的顏色是這樣的:

$(label).css("backgroundColor",color_from); 

$(label).animate("backgroundColor:'" + color_to + "'", 5000, new Function() { 
    public void f(Element e) { 
    } 
}); 

的效果是從「color_from」到「color_to一個不錯的漸漸」。

我想知道如何直接在表格單元格上執行此操作,而無需爲每個單元格創建要使用此效果的標籤。那可能嗎?

回答

0

你可以試試這個。

在你的CSS文件:

.myTableStyle td { 
    background-color: #FFF: 
    -webkit-transition: background-color 5s; /* Chrome, Safari, Opera */ 
    transition: background-color 5s; 
} 
.highlighted { 
    background-color: #F00; 
} 

在GWT:

table.addStyleName("myTableStyle"); 
table.getFlexCellFormatter().setStyleName(row, column, "highlighted"); 

更新:

要做到這一點以相反的順序是更復雜一點:

.myTableStyle td { 
    background-color: #FFF: 
} 
.backgroundEffect { 
    -webkit-transition: background-color 5s; /* Chrome, Safari, Opera */ 
    transition: background-color 5s; 
} 
.highlighted { 
    background-color: #F00; 
} 

在GWT:

table.getFlexCellFormatter().setStyleName(row, column, "highlighted"); 
table.getFlexCellFormatter().addStyleName(row, column, "backgroundEffect"); 
table.getFlexCellFormatter().removeStyleName(row, column, "highlighted"); 
+0

很酷的解決方案,我在錯誤的地方尋找複雜的JS代碼,並沒有考慮先進的CSS已經得到了。然而,這不過是CSS3的希望,但這不會是一個主要問題。 – 2014-10-22 17:05:08

+0

還有一個問題。該解決方案僅淡入「突出顯示」的顏色。如果我想立即變紅,然後退色爲白色? – 2014-10-22 17:10:07

+0

我更新了我的答案。 – 2014-10-22 18:57:34