Javascript-如何在不使用/在网页上显示图像的情况下异步加载图像

Javascript-如何在不使用/在网页上显示图像的情况下异步加载图像,javascript,jquery,asynchronous,Javascript,Jquery,Asynchronous,我想在用户上传图像(ajax)时使用gif图像(loding indication-speening wheel)。但我希望在用户点击“上载”按钮后立即显示它,而不会因下载gif图像而造成延迟。您可以创建一个新的图像元素,设置其源属性,并在加载完成后将其放置在文档中的某个位置: var img = $("<img />").attr('src', 'http://somedomain.com/image.jpg') .on("load", function() {

我想在用户上传图像(ajax)时使用gif图像(loding indication-speening wheel)。但我希望在用户点击“上载”按钮后立即显示它,而不会因下载gif图像而造成延迟。

您可以创建一个新的图像元素,设置其源属性,并在加载完成后将其放置在文档中的某个位置:

var img = $("<img />").attr('src', 'http://somedomain.com/image.jpg')
    .on("load", function() {
        if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
            alert('broken image!');
        } else {
            $("#something").append(img);
        }
    });

var img=$(“您可以用不同的方式预加载图像,请参阅

var images=newarray()
函数预加载(){
对于(i=0;i
是javascript方式,该网站还显示了如何使用html和css来实现,具体取决于您希望如何实现。

使用css

<div id="preload">
  <img src="ajax-indicator.gif"/>
</div>

#preload {
    display: none;
}

#预载{
显示:无;
}
浏览器将加载图像,即使它不可见。

请注意,
.load()
事件在v1.8(2012年)中被弃用,并在v3.0中被删除。该事件仍然以
的形式存在(“加载”),因此我直接更新了答案。
<div id="preload">
  <img src="ajax-indicator.gif"/>
</div>

#preload {
    display: none;
}