似乎由于某种原因该.load
方法不起作用。在我的jQuery中:
$(document).ready(function() {
var imgHeight;
$('body').prepend('<img src="http://farm9.staticflickr.com/8266/8653931785_4a8d43164f.jpg" class="select" />');
if($('img.select').prop('complete')) {
imgHeight = $('img.select').outerHeight();
}else{
$('img.select').load(function() {
imgHeight = $('img.select').outerHeight();
});
}
$('body').prepend('<p>Image Height: ' + imgHeight + '</p>');
});
和一个jsfiddle的链接
示例运行几次后(我假设图像已缓存),它将成功检索正确的高度。这告诉我if($('img.select').prop('complete'))
工作正常。
我在这里想念什么?
(在 Chrome 和 FF 中测试)
编辑:好的,现在如果我想检查多个图像(如果它们已加载)怎么办?
$('img.select').prop('complete')
仅测试与选择器匹配的第一个元素。
http://jsfiddle.net/hcarleton/2Dx5t/6/