Javascript 如何在jQuery中检测图像的高度?
我尝试了以下代码:Javascript 如何在jQuery中检测图像的高度?,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我尝试了以下代码: var origh1 = $('img:first').height(); alert(origh1); 但它发出的警报值为“0” 我的img标记没有设置高度值,所以它返回0的原因是什么 如果是,如何检索图像高度的值 另外,我注意到,当我制作动画,将图像的大小增加20%并减少20%时,它最终会比原始图像大一点。如何将图像恢复为原始大小?如果我把它减少20%,为什么不回到原来的水平呢。我知道这涉及到数学……但在jQuery中我如何补偿这一点呢 这是我的代码:
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');
在查询图像之前,请确保图像已正确加载
$(function() {
alert( $('img').eq(0).height() )
});
如果DOM就绪太早,您还可以尝试将其绑定到窗口加载事件:
$(window).load(function() {
alert( $('img').eq(0).height() )
});
试一试
这将在图像完全加载后触发
编辑--对不起,我不得不编辑大约五次。我今天老是犯愚蠢的错误。至于第一个建议……这不是和
alert($('img:first').height();)完全一样吗代码>?这是我尝试的第一件事,但它仍然返回0。我还尝试将其移动到文档的末尾,确保在运行之前加载图像,但这也不起作用。至于将其绑定到窗口加载事件,如果在同一页面上加载100个图像,这是可伸缩的吗?我是否将100个页面绑定到窗口加载事件?在加载所有图像时,向下移动代码不会执行它,除非在后面的示例中对其进行包装。听起来您需要将其绑定到窗口加载。将其进一步放在文档中不会阻止脚本在图像加载之前运行。windows.load事件仅在您的所有内容加载完毕时触发。我认为你有多少内容并不重要。我不知道你说的“将它绑定到100页”是什么意思。这就是我想知道的…关于绑定。格雷格…我的意思是把它绑到100个窗户上。谢谢各位。对我问题的后半部分有什么建议吗?为什么不把它缩小到原来的尺寸呢。在大多数情况下,这是有效的,我相信您省略了尾随括号和分号:)
$(window).load(function(){
$('img:first').attr("height")
});