Javascript 将浮点数转换为RGBA CSS颜色的有效Alpha值

Javascript 将浮点数转换为RGBA CSS颜色的有效Alpha值,javascript,html,css,canvas,Javascript,Html,Css,Canvas,我试图用白色和动态颜色之间的线性渐变填充画布元素,这将在运行时确定 为此,我有一个函数,它接收一个浮点数作为它的参数,我试图将该变量插入RGBA颜色的alpha值 function setCanvas(fraction) { fraction = fraction.toFixed(2); context.rect(0, 0, canvas.width, canvas.height); var grad = context.createLinearGradient(0,

我试图用白色和动态颜色之间的线性渐变填充画布元素,这将在运行时确定

为此,我有一个函数,它接收一个浮点数作为它的参数,我试图将该变量插入RGBA颜色的alpha值

function setCanvas(fraction) {

    fraction = fraction.toFixed(2);
    context.rect(0, 0, canvas.width, canvas.height);
    var grad = context.createLinearGradient(0, 0, canvas.width, canvas.height);
    grad.addColorStop(0, '#FFFFFF');
    grad.addColorStop(1, 'rgba(255, 255, 255, fraction)'); // SYNTAX ERROR
    context.fillStyle = grad;
    context.fill();

  }
这是日志中的错误消息:

未捕获的语法错误:未能对“CanvasGradient”执行“addColorStop”:无法将提供的值(“rgba(255,255,255,分数)”解析为颜色

我可以记录分数的值,它总是在0.0和1.0之间归一化,这就是它所需要的。。。但是如果我在RGBA颜色中静态输入相同的值(例如0.76),那么一切都会顺利进行


我错过了什么明显的东西吗?为什么不起作用?

我想你是有意的

grad.addColorStop(1, 'rgba(255, 255, 255, ' + fraction+ ')'); 

您包含的是字符串分数而不是值。

BOOM。谢谢,就这样。。。我没有太多地使用JS,而且仍然不习惯动态变量类型,所以这个字符串的东西总是吸引我。。。我会尽快接受答案。。。