2011-04-07 56 views

回答

1

添加三個按鈕ID '按鈕1', '按鈕2', 'BUTTON3'

重寫當前的代碼,所以你不要重複自己(DRY):

function fillCircle(canvasId, color) { 
    var canvas=document.getElementById(canvasId); 
    var cxt=canvas.getContext("2d"); 

    var imageObj = new Image(); 
    imageObj.src = "images/" + color + ".jpg"; 
    imageObj.onload = function() { 
     var pattern = cxt.createPattern(imageObj, "repeat"); 
     cxt.fillStyle=pattern; 
     cxt.fill(); 
    } 


    cxt.beginPath(); 
    cxt.arc(51,51,50,0,Math.PI*2,true); 
    cxt.closePath(); 
    cxt.stroke(); 
} 

fillCircle("myCanvas", "pink"); 
fillCircle("myCanvas2", "green"); 

並添加(使用jQuery) :EDITED

$('#button1').click(function() {fillCircle("myCanvas", "blue")}); 
$('#button2').click(function() {fillCircle("myCanvas", "red")}); 
$('#button3').click(function() {fillCircle("myCanvas", "yellow")}); 

或者任何你想要的顏色,取決於你想改變的畫布。

+0

我已經這樣做了....它似乎沒有工作:-(幫助!! – Lee 2011-04-07 16:37:06

+0

我在事件中發生錯誤,請使用新的三條底線 – 2011-04-07 17:14:43

+0

另外,我認爲有一個你的代碼錯誤,我沒看到 - 事件處理程序「onload」應該在你更改「src」屬性之前設置,否則處理程序太晚了,在下一次設置src屬性時執行 – 2011-04-07 17:17:08