如何检查指定URL中的图像是否已加载

时间:2014-07-18 12:27:54

标签: javascript jquery ajax

通过ajax调用,我正在获取我需要用来更改src的{​​{1}}的网址。然而,这需要时间。同时我需要显示加载或其他东西。如何检查img是否已在页面上加载图像?

4 个答案:

答案 0 :(得分:0)

我会添加调用以在AJAX调用之前显示加载图像:

$('#ajaxLoadingContainer').html('<img src="secure_content/images/ajax-loader-small.gif">');

$.ajax({
    url: 'secure/ajax.php?action=checkSession',
    type: 'GET',
    dataType: 'HTML',
    async: true,
    success: removeAjaxLoader,
});

function removeAjaxLoader() {
    $('#ajaxLoadingContainer').html('');
}

答案 1 :(得分:0)

在加载新图像后,使用以下代码获取回调事件

var isrc = "http:\\fsomething ";
var image = new Image();
    image.onload=function(){
       //Image load callback
    }
image.src = isrc;
$('body').append(image);

在ajax成功功能中使用此代码。在ajax调用之前显示加载图像,并在图像加载回调函数中隐藏加载图像。

答案 2 :(得分:0)

试试这个

$.ajax({
url:'http://stackoverflow.com/secure_content/images/ajax-loader-small.gif',
type:'HEAD',
error: function()
{
    //file not exists
},
success: function()
{
    //file exists
}
});

答案 3 :(得分:0)

您可以使用javascript Image()来实现此目的。

var img = new Image(); // Show loading image here jQuery('#loadingImg').show(); img.onload = function(){ // image has been loaded // Hide the loading image jQuery('#loadingImg').hide(); }; img.src = 'image_url';