如何在jQuery中检测图像的高度?

时间:2010-07-14 01:42:32

标签: javascript jquery jquery-ui

我尝试了以下代码:

    var origh1 = $('img:first').height();
    alert(origh1);

但是它提示值为'0'。

我的img标签没有设置高度值,那么为什么它返回0?

如果是这样,我该如何检索图像高度的值?

另外,我注意到当我进行动画处理以将图像的大小增加20%并将其减少20%时,它最终会比原始图像大一点。如何将图像恢复为原始大小?如果我减少20%,为什么它不会恢复原状。我知道有数学涉及...但我如何在jQuery中弥补这一点?

这是我的代码:

$('img:first').fadeIn('normal').delay(500).animate({'height':'+=20%'}, 1500, 'easeOutQuad')

返回原文:

$('img:first').fadeIn('normal').animate({'height':'-=20%'}, 1000, 'swing');

2 个答案:

答案 0 :(得分:2)

在查询之前确保图像正确加载。

$(function() {
     alert( $('img').eq(0).height() )
});

如果DOM Ready太快,您也可以尝试将其绑定到窗口加载事件:

$(window).load(function() {
     alert( $('img').eq(0).height() )
});

答案 1 :(得分:2)

尝试

$(window).load(function(){
    $('img:first').attr("height")
});

图像完全加载后会触发

编辑 - 抱歉,我必须编辑大约五次。我今天一直在犯愚蠢的错误。