【问题标题】:jQuery: question about image preloadingjQuery:关于图像预加载的问题
【发布时间】:2010-08-08 14:01:39
【问题描述】:

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

我正在使用此代码:

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

我的问题: 当使用 jQuery 创建图标的 html 标记时,图像会被缓存 + 立即显示吗?喜欢:

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

谢谢

【问题讨论】:

    标签: jquery image preloading


    【解决方案1】:

    是的,执行此操作时图像将从缓存中提取 :) 这不是专门针对 jQuery 的,这只是本机浏览器行为,无论您以何种方式创建图像都应该有效。

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

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


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

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

    【讨论】:

      【解决方案2】:

      也许您可以尝试将其放置在正确的位置,仅使用 XHTML,并使用 CSS 使其不可见。我猜它会被加载,点击后你会看到它。

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

      请让我们知道这项工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多