使用jquery下载图像

时间:2011-09-13 07:18:38

标签: jquery

在我的表单加载中我使用jquery下载图像,当用户点击任何按钮然后我在我的div中显示该图像。但只有第一次图像需要时间才能看到。如果图像是在表单加载下载的,那么当我通过jquery显示该图像时,我认为它不应该再次下载,它应该很快就可以看到。

这是我的代码

 var _images = ['/Images/ajax-loader.gif'];
   $.each(_images, function (e) {
       $(new Image()).load(function () {
           //alert($(this).attr('src') + 'has loaded!');
       }).attr('src', this);
   });

通过上面的例程我在jquery的帮助下在表单加载下载图像。

所以当我在用户点击下面的按钮时显示该图像

                   $('#loader').html('<table border="0" style="width:auto"><tr><td valign="middle">Wait...</td><td valign="top"><img height="20px" width="20px" src="/images/ajax-loader.gif" border="0" /></td></tr></table>');

loader是我的div

因此图像不应该再次下载,而应该从客户端计算机上显示。 所以请指导我在我的代码中出现的问题是图像是在表单加载时下载的,尽管它是第一次再次加载。请帮忙......谢谢

2 个答案:

答案 0 :(得分:1)

打开萤火虫,看看实际发生了什么。

在我看来,你使用jquery向服务器发出另一个请求,因为可能没有正确设置到期或缓存..

查看这些并包含结果

你也可以做另外一件事:

有这样的代码:

 <div id='loader' style="display:none"><table border="0" style="width:auto"><tr><td valign="middle">Wait...</td><td valign="top"><img height="20px" width="20px" src="/images/ajax-loader.gif" border="0" /></td></tr></table></div>

并且只要您想显示它,只需使用

$('#loader').show();

当你想再次隐藏时

$('#loader').hide();

答案 1 :(得分:0)

您正在预加载/Images/ajax-loader.gif并使用/images/ajax-loader.gif(注意I / i)。我怀疑浏览器将它们视为不同的图片。