2012-09-28 60 views
1

我有这个功能加载在画布上的图像:画布图像消失

function myImage() { 
    var canvas=document.getElementById("myCanvas"); 
    var ctx=canvas.getContext("2d"); 
    var img=document.getElementById("image"); 
    ctx.drawImage(img,0,0); 
} 

图片加载罚款,并有在画布上的其他图像,但这种图像,当我使用任何控制来移动或调整其他图像,这一个消失。

加载图像使用:

<img id="image" src="1.png" width="64" height="64" onclick="myImage(this)"> 

嗯,我更新的功能:

function myImage() { 
    var canvas=document.getElementById("myCanvas"); 
    var ctx=canvas.getContext("2d"); 
    var img=document.getElementsByClassName("test"); 
    ctx.drawImage(img,0,0); 
} 

和图像

<img class="test" src="1.png" width="64" height="64" onclick="myImage(this)"> 
<img class="test" src="2.png" width="64" height="64" onclick="myImage(this)"> 
<img class="test" src="3.png" width="64" height="64" onclick="myImage(this)"> 

,但我得到这个错误:

Uncaught TypeError: Type error 
myImage 
onclick 

在功能

+0

所有的图像具有相同的“形象”身份证? –

+0

不,其他图像有不同的ID,并被其他函数调用 –

+0

不知道你的整个代码在做什么,但我认为每个元素应该是唯一的每个元素,是否有任何理由让他们都具有相同的ID? –

回答

1

也许更好的最后一行使用:

document.getElementsByClassName('test'); 

,并有你想要的图像与特定的共享类