jQuery:关于图像预加载的问题

时间:2010-08-08 14:01:40

标签: jquery image preloading

我构建了自己的表单脚本,并希望预加载“加载” - 在点击提交按钮时显示的图标。

我正在使用此代码:

var icon = $('<img />').attr('src', 'images/status.gif');

我的问题: 当使用jQuery创建图标的html标记时,图像是否会被缓存+显示出来?像:

statusDiv.html("<img src='images/status.gif'> Submitting ..");

THX

2 个答案:

答案 0 :(得分:2)

是的,在执行此操作时,图像将从缓存中拉出:)这不是jQuery,这只是本机浏览器行为,无论您创建图像的方式都应该有效。

这里的例外是Opera IIRC,默认情况下它不会预加载图像,因为它意识到它还没有被显示,除非这种情况它应该像你想要的那样。

其他可能的情况是图片还没有时间加载,例如如果我在加载页面后单击快速提交 ,但这应该是不太可能的,并且获取图像的请求应该已经在运行。


顺便说一句,如果只是为了这张图片,你可以缩短预加载:

var icon = $('<img src="images/status.gif" />');

答案 1 :(得分:1)

也许您可以尝试将它放在正确的位置,只需使用XHTML,然后使用CSS隐藏它。我想它会被加载,点击它就可以看到它。

您可以在firebug中查看您的网络标签。

请告诉我们相关信息。