Javascript 如果画布上没有x、y坐标的警报框,图像数组显示不正确
我使用ajax从XML文件中获得了循环中的图像名称,并在HTML画布上以X,Y坐标显示。但如果没有警报框,图像将无法正确显示。意思是若我把警报框放进去,那个么它显示的很好,但若我从代码中删除警报框,那个么所有的图像都会显示在最后的X,Y坐标上Javascript 如果画布上没有x、y坐标的警报框,图像数组显示不正确,javascript,ajax,xml,canvas,Javascript,Ajax,Xml,Canvas,我使用ajax从XML文件中获得了循环中的图像名称,并在HTML画布上以X,Y坐标显示。但如果没有警报框,图像将无法正确显示。意思是若我把警报框放进去,那个么它显示的很好,但若我从代码中删除警报框,那个么所有的图像都会显示在最后的X,Y坐标上 我的HTML代码是- <canvas id="myCanvas" style="border:1px solid #000000;"></canvas> var canvas = document.getElementById
我的HTML代码是-
<canvas id="myCanvas" style="border:1px solid #000000;"></canvas>
var canvas = document.getElementById("myCanvas"),
var ctx = canvas.getContext("2d");
for (iimg=0;iimg<ximg.length;iimg++)
{
// here I am getting all below values in each variable
var callimgdata=ximg[iimg].childNodes[0].nodeValue;
var callout_imageX=xx[iimg].childNodes[0].nodeValue;
var callout_imageY=xy[iimg].childNodes[0].nodeValue;
var callout_imageHeight=xh[iimg].childNodes[0].nodeValue;
var callout_imageWidth=xw[iimg].childNodes[0].nodeValue;
(function(){
var letterImg = new Image();
letterImg.onload = function() {
ctx.drawImage(letterImg, callout_imageX, callout_imageY, callout_imageWidth, callout_imageHeight);
}
letterImg.src = sitePath+"ATOM/chapter1/book/"+callimgdata;
})(iimg);
// If I remove below alert then all images showing on last X, Y coordinates But all it is fine when I keep alert here.
alert(callimgdata+" ,"+ callout_imageX +" ,"+ callout_imageY+" ,"+ callout_imageWidth+" ,"+ callout_imageHeight);
我的JavaScript代码是-<canvas id="myCanvas" style="border:1px solid #000000;"></canvas>
var canvas = document.getElementById("myCanvas"),
var ctx = canvas.getContext("2d");
for (iimg=0;iimg<ximg.length;iimg++)
{
// here I am getting all below values in each variable
var callimgdata=ximg[iimg].childNodes[0].nodeValue;
var callout_imageX=xx[iimg].childNodes[0].nodeValue;
var callout_imageY=xy[iimg].childNodes[0].nodeValue;
var callout_imageHeight=xh[iimg].childNodes[0].nodeValue;
var callout_imageWidth=xw[iimg].childNodes[0].nodeValue;
(function(){
var letterImg = new Image();
letterImg.onload = function() {
ctx.drawImage(letterImg, callout_imageX, callout_imageY, callout_imageWidth, callout_imageHeight);
}
letterImg.src = sitePath+"ATOM/chapter1/book/"+callimgdata;
})(iimg);
// If I remove below alert then all images showing on last X, Y coordinates But all it is fine when I keep alert here.
alert(callimgdata+" ,"+ callout_imageX +" ,"+ callout_imageY+" ,"+ callout_imageWidth+" ,"+ callout_imageHeight);
var canvas=document.getElementById(“myCanvas”),
var ctx=canvas.getContext(“2d”);
对于(iimg=0;iimg)您在此行末尾有一个逗号,而不是分号:var canvas=document.getElementById(“myCanvas”),
。这可能会使浏览器出错,使您的某些代码无法执行。另外:您是否可以添加img
数组,以便更容易查看数据structure@jonStodle:替换分号后仍然存在相同的问题我的图像数组是-img/PAGE1_1JPN.PNG,img/PAGE1_2JPN.PNG,img/PAGE1_3JPN.PNG请帮助我使用GUI