簡體   English   中英

如何在JavaScript中將變量的值分配給另一個方法?

[英]How to assign value of variable to another method in javascript?

我的代碼如下

 function myFunction(a,b,d)
        {
         var R  = a;
         var G =  b ;
         var B =  d ;
         var L = "(";
         var C = ",";
         var Rp = ")";
         var E = L ;
         var ic = '"';
         var prefix = "RGB";
         var color = ic+prefix + L + R+ C + G + C + B + Rp+ic;
         alert(color)
         var c=document.getElementById("myCanvas");
         var ctx=c.getContext("2d");
         ctx.fillStyle = color;
        }

如果我調用上述函數例如myFunction(10,20,30); alert(color); 打印“ rgb(10,20,30)”,但我不知道如何將顏色的值分配給ctx.fillStyle既然我要進行動態應用程序,我需要傳遞不同的color值,現在代碼不work和ctx.fillStyle = color; 執行代碼時打印。 如果有人可以告訴我如何將顏色的值分配給ctx.fillStyle方法,我將非常感激。

只要提供的值是有效的顏色值,就可以根據需要為所需的顏色值引用變量。

根據提供的代碼,您似乎正在使用RGB而不是rgb

首先,“ color”是一個字符串變量,要將其用作代碼段,請使用eval(); 功能。 其次,在畫布上設置一些可見區域以查看代碼是否真正起作用,即ctx.fillRect()。 最后,確保您的文檔類型聲明為<!DOCTYPE html> ,我希望是。

這是代碼的工作版本(在FF 11.0中對我有用):

<!DOCTYPE html>
<html>
<head>
<script >
function myFunction(a,b,d)
            {
             var R  = a;
             var G =  b;
             var B =  d;
             var L = "(";
             var C = ",";
             var Rp = ")";
             var E = L ;
             var ic = '"';
             var prefix = "RGB";
             var color = ic+prefix + L + R+ C + G + C + B + Rp+ic;

    var c=document.getElementById("myCanvas");
    var ctx=c.getContext("2d");
    ctx.fillStyle=eval(color); //convert string to code.
    ctx.fillRect(0,0,150,75);//any size greater than 0
            }
</script>
<body>
<button  onclick="myFunction(200,0,0);">click me</button>
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
</body>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM