Javascript 在颜色之间动态平滑切换
我使用ng类根据单元格的值为特定单元格着色Javascript 在颜色之间动态平滑切换,javascript,angularjs,ng-class,Javascript,Angularjs,Ng Class,我使用ng类根据单元格的值为特定单元格着色 ng-class="{'score-cell green': value >= 70 , 'score-cell red': value <= 40, 'score-cell yellow': value < 70 && valu
ng-class="{'score-cell green': value >= 70 ,
'score-cell red': value <= 40,
'score-cell yellow': value < 70 && value > 40}"
ng class=“{'score-cell green':值>=70,
“分数单元格红色”:值40}”
如何在类似的范围之间切换
它应该从红色逐渐过渡到黄色再过渡到绿色
请给我一些建议
请在这里找到这本书
尝试改用
ng样式。首先,您需要生成绿色和红色范围内的值(HSV颜色空间)。然后将其转换为十六进制值,并使用背景色添加它。可以使用ng repeat
在循环中渲染它们
以下是一个例子:
var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
//转换为十六进制的函数
函数toHex(n){
var r=255-(n/10*255 | 0);
g=n/10*255 | 0;
返回“#”+
(r?(r=r.toString(16),r.length==2?r:'0'+r:'00')+
(g)(g=g.toString(16),g.length==2?g:'0'+g):'00')+'00'
}
var c=[0,1,2,3,4,5,6,7,8,9,10];
$scope.colors=c.map(函数(x){
返回到hex(x)
})
});代码>
背景色:{{c}
您可以使用CSS转换:.score单元格{transition:background color 2s;}
这不起作用。仍然是纯色。你需要创建调色板。我使用你的技术创建了调色板,但它现在没有显示任何价值。{{value}}@a2441918您正在渲染{{value}
,但是您的元素(来自ng repeat
)被命名为color
,因此将其切换为{color}
,而不是从API获取值。根据该值,表中的单元格应具有特定的颜色。这是一样的吗?它不会呈现任何东西,所以我需要将该值与数组中元素的索引进行比较,并将该颜色作为背景色。你能检查一下吗?