編輯:原來你希望當你懸停時顏色離開而不是顯示。簡單的改變。
好吧,首先,你應該分開這些伸到CSS類:
.ZeroValue {
background:'#DF0101';
}
.ValueBetween1And10 {
background:'#FF7C00';
}
.ValueOver8 {
background:'#04B404';
}
.ValueTransparent {
background:transparent !important;
}
添加上述類上$(document).ready()
根據它們的值:
if(cell_value === 0){
cell.addCLass('ZeroValue');
} else if((cell_value >= 1) && (cell_value <= 10)){
cell.addClass('ValueBetween1And10');
} else if(cell_value >= 8){
cell.addClass('ValueOver8');
}
然後,只需動態添加transparent
類當您懸停時,請在您離開時將其移除:
cell.on({
mouseenter:function(){
$(this).addClass('ValueTransparent');
},
mouseleave:function(){
$(this).removeClass('ValueTransparent');
}
});
或者,如果有一個獨特的顏色,每一個項目,你想暫時移除,你只需創建一個函數:
function classByValue(cell,cell_value){
if(cell_value === 0){
cell.addCLass('ZeroValue');
} else if((cell_value >= 1) && (cell_value <= 10)){
cell.addClass('ValueBetween1And10');
} else if(cell_value >= 8){
cell.addClass('ValueOver8');
}
}
這將清除所有的類當鼠標進入,然後重新添加當鼠標進入時,該類基於cell_value
。然後在負載和mouseleave
上動態應用。該$(document).ready()
:
cell.each(function(){
classByValue(this,this.val());
});
而且懸停:
cell.on({
mouseenter:function(){
$(this).removeClass('ZeroValue ValueBetween1And10 ValueOver8');
},
mouseleave:function(){
classByValue($(this),$(this).val());
}
});
有你有它,多種方式來實現自己的目標。您可能需要修改$(this).val()
以適當反映該特定cell
的值,但如果沒有您的HTML,我無法真正確定這一點。
作爲一方,>= 8
的最後一個選項應該重新考慮,因爲值8
或9
永遠不會觸發它。
在你的JS,分配'background-color'屬性,而不是'background'屬性。即'$(this).css({'background-color':'#DF0101'});' – techfoobar
使用css類爲每種不同的背景顏色,然後使用僞選擇器爲每個類添加特定的顏色' ':hover'' – Kippie
techfoobar,這並沒有達到我的要求。懸停係數仍然不起作用。 Kippie,你究竟是什麼意思? – user2953092