Javascript 为元素预映像加载js

Javascript 为元素预映像加载js,javascript,jquery,html,lazy-loading,loading,Javascript,Jquery,Html,Lazy Loading,Loading,有一个div#容器,其中包含各种具有大背景图像的div 我想使用一些预图像加载js来避免加载图像的丑陋外观 但问题是,我找不到任何脚本可以在后台加载所有图像,而在#container中显示加载条 虽然互联网上充斥着为全身加载图像的脚本,但我只想要一个元素,而其他一切都是可见的,比如内容 更新问题: 以下脚本是否适用于CSS中指定的背景图像 $('#container img:last').load(function(){ //do stuff }); 更新:最好的解决方案是掌握这个jQu

有一个div
#容器
,其中包含各种具有大背景图像的div

我想使用一些
预图像加载js
来避免加载图像的丑陋外观

但问题是,我找不到任何脚本可以在后台加载所有图像,而在
#container
中显示加载条

虽然互联网上充斥着为全身加载图像的脚本,但我只想要一个元素,而其他一切都是可见的,比如内容

更新问题: 以下脚本是否适用于CSS中指定的背景图像

$('#container img:last').load(function(){ 
  //do stuff
});
更新:最好的解决方案是掌握这个jQuery插件,它被称为“PrelodCSSimages”。你可以找到它


它可以预先加载当前的所有css图像,而不必费心去做这些事情。

您可以等待容器中的最后一个图像加载,然后执行您的操作。 像这样的

$('#容器img:last').load(函数(){ //做事
});

您可以等待加载容器中的最后一个图像,然后执行操作。 像这样的

$('#容器img:last').load(函数(){ //做事
});

首先在容器内设置装载图像:

<div id="container"><img src="loading.gif" class="loading"/></div>

首先在容器内设置装载图像:

<div id="container"><img src="loading.gif" class="loading"/></div>

一个优雅的解决方案是使用CSS级联。HTML:

<body>
    <div class="c1"></div>
    <div class="c2"></div>
</body>
JS(加载或准备就绪时):


大多数浏览器仅根据需要加载未使用的图像,或者在触发窗口加载事件后加载图像。但是,图像也会按照遇到它们的顺序放入加载队列,因此即使上面的JS在DOM就绪上执行,它仍然会在所有其他未在.loadimage类后面级联的图像之后加载图像。

一个优雅的解决方案是使用CSS级联。HTML:

<body>
    <div class="c1"></div>
    <div class="c2"></div>
</body>
JS(加载或准备就绪时):


大多数浏览器仅根据需要加载未使用的图像,或者在触发窗口加载事件后加载图像。但是,图像也会按照遇到的顺序放入加载队列,因此即使上面的JS在DOM就绪时执行,它仍会在所有其他未级联到.loadimage类后面的图像之后加载图像。

您可以加载图像,然后将其设为背景图像或类似于$('').attr的内容('src','{$('body').css('background-image','url();});在这里找到它,而不是将所有背景设置为内联,您应该只将“loaded”类应用于
,并在css中将背景图像应用于
body.loaded#示例{background:…
例如,您可以加载图像,然后将其设置为背景图像或类似的$('').attr('src','{$('body').css('background-image','url();});在这里找到它,而不是将所有背景设置为内联,您应该只应用一个“loaded”类设置为
,并在CSS中应用
body.loaded下的背景图像#例如{background:…
document.getElementsByTagName('body')[0].className += 'loadimages';