编辑:原来你希望当你悬停时颜色离开而不是显示。简单的改变。
好吧,首先,你应该分开这些伸到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