1

我写这个是为了向我展示图像的高度:

alert($("img.my_pic").height());

但是,它告诉我图像的高度是 0.9090919494628906,这是不正确的。

我应该怎么做才能获得正确的高度?

4

3 回答 3

0
$("img.my_pic").on('load', function() { alert( this.height ); });

这是 rlemon 对我有用的答案。由于他将其作为评论而不是答案来回答,因此我只是为他回答。

于 2013-01-26T18:21:05.260 回答
0

尝试

$("img.my_pic").prop('height')

当然,图像必须完全加载。


您可以使用该complete属性来检查图像是否已加载。

if ($("img.my_pic").prop('complete') === false){
    $("img.my_pic").on('load', function(){
        alert($(this).prop('height'));
    });
}
else{
    alert($("img.my_pic").prop('height'));
}

演示

于 2013-01-19T18:24:31.167 回答
0

您必须等到图像加载到 DOM

function imageSize(img){
  var theImage = new Image();
  $(theImage).load(function() {
    var imgwidth = this.width;
    var imgheight = this.height;

    alert(imgwidth+'-'+imgheight);
  });
  theImage.src = img.attr('src');
}

jsFiddle 演示

于 2013-01-19T18:29:24.783 回答