我们有一个页面可以加载几百个图像(92%的请求和页面上的字节来自图像),并且正在寻找在加载其余部分之前在某个div(大约20个图像)中加载图像的方法页面上的图像。
搜索后,似乎人们使用分页或延迟加载 - 客户端已经排除了延迟加载,如果我们可以帮助它们,我们都不想分页。
是否有一种简单的方法可以强制浏览器在加载其余图像之前在某个div(或多个div)中加载图像?
我们的javascript / jquery是有限的(阅读其他人的指示) - 所以任何帮助或指示正确的方向将非常感激。
答案 0 :(得分:0)
你应该得到你的图像
window.on('load',function(){
//functionality to get images for the later load from server
})
答案 1 :(得分:0)
如何预装图像(放在头部):
<script type="text/javascript">
Image1 = new Image()
Image1.src = "image1.gif"
Image2 = new Image()
Image2.src = "image2.gif"
Image3 = new Image()
Image3.src = "image3.gif"
</script>
来源:http://www.htmlgoodies.com/tutorials/web_graphics/article.php/3480001
另一种方式:http://perishablepress.com/a-way-to-preload-images-without-javascript-that-is-so-much-better/
答案 2 :(得分:0)
试试这个插件http://imagesloaded.desandro.com/。该插件可以检查容器(div)是否已加载所有图像?检查后,如果返回true,则可以加载其他图像。
例如。
<div id="container">
<img src="first images to be loaded">
<img src="first images to be loaded">
<img src="first images to be loaded">
<img src="first images to be loaded">
<img src="first images to be loaded">
<img src="first images to be loaded">
</div>
<div id="otherImgs"><div>
<script>
$(document).ready(function(){
var imgs = ["img1.jpg","img1.jpg","img1.jpg"];
imagesLoaded( document.querySelector('#container'), function( instance ) {
for(i in imgs){
var img = $("<img />").attr('src', "test/"+imgs[i]);
$("#otherImgs").append(img);
}
});
});
</script>