代码之家  ›  专栏  ›  技术社区  ›  Kirzilla

new Image(),如何知道图像是否100%加载?

  •  31
  • Kirzilla  · 技术社区  · 14 年前

    我正在用

    img = new Image();
    img.src = image_url;
    

    $("#my_img").attr("src", img.src);
    

    我怎么知道img.src 是否100%加载?最佳做法是什么? img.complete 在我看来,在某些浏览器中似乎有一辆小车。

    换句话说,我需要分配 img.src $("#my_img") img 它是100%加载。

    谢谢您!

    2 回复  |  直到 14 年前
        1
  •  68
  •   Community THelper    11 年前

    使用 load

    img = new Image();
    
    img.onload = function(){
      // image  has been loaded
    };
    
    img.src = image_url;
    

    还可以看看:

        2
  •  21
  •   Watchmaker    8 年前

    function getImage(url){
            return new Promise(function(resolve, reject){
                var img = new Image()
                img.onload = function(){
                    resolve(url)
                }
                img.onerror = function(){
                    reject(url)
                }
                img.src = url
            })
        }
    

    在调用函数时,我们可以非常灵活地处理它的响应或错误。

    getImage('imgUrl').then(function(successUrl){
        //do stufff
    }).catch(function(errorUrl){
        //do stuff
    })