javascript 中加载图片大小与图片真是大小不一样解决方案

<html>

<div><image src='xxx'></div>

</html>

var image=new Image();

image.src=url;

$('div').append(image);

当这样添加到页面上是图片大小与图片真是大小不一样不过,原因是当设置好图片路径过后,还会有一个http请求,去请求图片大小。中间有一个延迟加载的过程。

解决方案如下:

//定义一个对象

 var imgLoad = function (url, callback) {
        var img = new Image();
        img.src = url;
        if (img.complete) {
            callback(img.width, img.height);
        } else {
            img.onload = function () {
                callback(img.width, img.height);
                aa();
                img.onload = null;
            };
        };
    };

 //调用方法bb是图片加载成功后调用的方法,在此弹出的是图片加载成功后的图片宽和高
    imgLoad(imagePath, bb);

    function bb(w, h) {
        alert(w);//宽
        alert(h);//高
    }

原文地址:https://www.cnblogs.com/Minghao_HU/p/2542125.html