Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果画布上没有x、y坐标的警报框,图像数组显示不正确_Javascript_Ajax_Xml_Canvas - Fatal编程技术网

Javascript 如果画布上没有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

我使用ajax从XML文件中获得了循环中的图像名称,并在HTML画布上以X,Y坐标显示。但如果没有警报框,图像将无法正确显示。意思是若我把警报框放进去,那个么它显示的很好,但若我从代码中删除警报框,那个么所有的图像都会显示在最后的X,Y坐标上
我的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