Jquery检查图像是否完成加载

时间:2013-12-29 08:00:13

标签: javascript jquery

我正在使用以下内容刷新我用来阻止机器人的图像。所以我想在加载图像时显示一些GIF,并在加载完成后隐藏它。

$.CaptchaLoad = function(){
    var src   = '../php/captcha.php',
        stamp = (new Date()).getTime(),
        url   = src + '?' + stamp;
    document.getElementById('capcha').src = url;

};

在Ajax中我会使用'Success';

2 个答案:

答案 0 :(得分:0)

我不确定$ .CaptchaLoad插件是什么? 如果上面的代码在你的情况下工作正常。

将onload侦听器添加到图像对象。

$("#capcha").on("load",function(){
    //successfully loaded
    //write a code here to hide your loader.
});

答案 1 :(得分:0)

您可以尝试.load事件。

$("#capcha").load(function(){
    //hide your GIF
});

但请注意,当与图像一起使用时,加载事件有一些注意事项,引自doc:

  • 它不能始终如一地工作,也不能可靠地跨浏览器
  • 如果图像src设置为与src相同,则在WebKit中无法正确触发 之前
  • 它没有正确地冒泡DOM树
  • 可以停止 触发已存在于浏览器缓存中的图像

其中之一是:可以停止为已经存在于浏览器缓存中的图像触发。在您的情况下,添加时间戳可以解决问题。切记不要删除它。