Jquery热图着色

San*_*osh 4 jquery heatmap

我有一个表,每列的值介于-100到+100之间.我想用零到-100之间的所有元素为它们着色,从白色到深红色.以及从零到+100的颜色从白色到深绿色.

关于如何使用JQuery酿造颜色的任何建议?

我在选择器方面遇到麻烦..如果我可以通过jquery做一个设置背景css那么最好

谢谢.

Guf*_*ffa 5

使用可以在两个值之间的点处计算颜色分量的函数,可以使用rgb(r,g,b)CSS中的颜色语法来设置背景颜色:

function morph(start, stop, point) {
  return Math.round(stop - start) * point / 100 + start);
}

$('td').each(function(){
  var value = parseInt($(this).text());
  var color;
  if (value < 0) {
    color = morph(255,100,-value) + ',' + morph(255,0,-value) + ',' + morph(255,0,-value);
  } else {
    color = morph(255,0,value) + ',' + morph(255,50,value) + ',' + morph(255,0,value);
  }
  $(this).css('background-color', 'rgb(' + color + ')');
});
Run Code Online (Sandbox Code Playgroud)