0

我可能非常非常愚蠢。但我不能让它为我的生活工作。我正在尝试将其设置imgWidth为与文件的图像宽度(pic_real_width)相同的宽度。

function calculate() {
    var pic_real_width, pic_real_height;
    $("<img/>").attr("src", $("#pp_photo_popUp")[0].src).load(function() {
        pic_real_width = this.width;   // Note: $(this).width() will not
        pic_real_height = this.height; // work for in memory images.
    });
    var imgWidth = 
}

总而言之,我正在尝试制作一个函数来获取硬盘上文件的真实尺寸。

4

1 回答 1

4

首先绑定加载事件,然后在加载事件内部做所有需要加载图片的处理。

function calculate(callback) {
    $("<img/>").load(function() {
        var pic_real_width = this.width;   // Note: $(this).width() will not
        var pic_real_height = this.height; // work for in memory images.
        callback(pic_real_width,pic_real_height);
    }).attr("src", $("#pp_photo_popUp")[0].src);
}

calculate(function(width,height) {
    console.log(width,height);
});

如果先设置 src,某些版本的 IE 会立即同步触发 load 事件,从而在绑定之前触发。这就是我交换订单的原因。此外,我添加了回调参数,因为我假设稍后在函数中您将返回宽度/高度,由于加载事件的异步性质,这将不起作用。

于 2013-07-17T19:13:59.613 回答