我正在尝试找到通过AJAX调用加载的图像的高度,但是得到随机结果。
有时,我得到正确的图像高度,有时我的图像高度为0。
这是我的代码
$('.content').fadeOut();
$.post('ajax.php?vno=' + new Date().getTime(), {
action: 'render'
}, function (res) {
$('.content').html(res.html);
var images = $('.content img');
var nimages = images.length;
if (nimages == 0) {
$('.content').fadeIn();
} else {
images.load(function () {
nimages--;
if (nimages == 0) {
$('.content').fadeIn();
}
}).each(function () {
if (this.complete) $(this).load();
});
}
$('#image-main').load(function () {
if ($('#image-main').length) $('#wrapper').append('<span>' + $('#image-main').height() + '</span>');
});
}, 'json');
AJAX调用为变量res.html中的页面返回HTML,我将其移入带有“content”类的div。 然后,我有一段代码等待,直到图像被加载,然后才会消除“内容”。 这似乎工作正常。
最后一位是我有一个探测器的位。
我感兴趣的图片有id'image-main',所以我使用的是.load
,我认为只有在图像被完全加载后才能触发?
有时我会将此代码附加到<span>0</span>
,有时我会正确地获得<span>546</span>
。