HTML5,Javascript画布标签image.onload()问题

时间:2012-08-02 02:26:50

标签: javascript html5 canvas

    function LoadResources(){   
      alert("In load socket");

    var canvas   = document.getElementById("myCanvas");
    var context  = canvas.getContext("2d");
    var tiles= new Array();

    var loadedCount=0;
    for (x = 101; x <= 155; x++) {
      var imageObj = new Image(); // new instance for each image
      imageObj.src = "Resources/ClassicCardImages/deck1/dood_deck/"+x+".GIF";

      imageObj.onload=function(){
        loadedCount++;
        if(loadedCount==55){
            cardsImagesLoaded();
        }else {
          alert(loadedCount);
        }
      };
      tiles.push(imageObj);

     }
  };

因此,当我调用函数LoadResources()时,它会在“加载套接字”中发出警报,但在imageObj.onload函数中不会发出警报。

你可以在html文档的正文中使用window.onload函数,即“window.onload = function(){..}”和我的函数。

另外我在Google Chrome上运行它。是否存在chrome onload等问题。

1 个答案:

答案 0 :(得分:0)

我只是为您的代码添加一些帮助。

为了按照您的方式分配功能,以下面的方式执行此操作会更便宜。

 for (x = 101; x <= 155; x++) {
      var imageObj = new Image(); // new instance for each image
      imageObj.src = "Resources/ClassicCardImages/deck1/dood_deck/"+x+".GIF";

      imageObj.onload= imageOnLoad;
     }
function imageOnLoad(){
        loadedCount++;
        if(loadedCount==55){
            cardsImagesLoaded();
        }else {
          alert(loadedCount);
        }
      };
      tiles.push(imageObj);
}