在手机端制做页面的时候,若是图片过多,会出现一个混存条,或者数字百分比的数字提示css
(如图)html
那么咱们应该怎么制做这个一直loading的效果呢!浏览器
一些浏览器采用一些措施来缓解这一问题,好比试图经过在本地缓存中存储图像,从而使随后对图像的调用可以当即被知足;缓存
可是在图像第一次被调用时依然会存在一些延迟。预载入是在须要图像以前将其下载到缓存的一种方法。ide
预载入图像最简单的方法是在 JavaScript 中实例化一个新 Image() 对象,而后将须要载入的图像的 URL 做为参数传入。spa
js部分结构:code
//var images = new Array("images/milk.png","images/logo.png","images/bg.jpg","images/exam_bg1.jpg","images/exam_bg2.jpg","images/exam_bg3.jpg","images/title.png"); var i = 0; function loadImage() { var image = new Image(); var len=$(".wrapBox").find("img").length;//建立一个Image对象:var image = new Image(); image.src = $(".wrapBox").find("img").eq(i).attr("src"); //image.src = images[index];//定义Image对象的src: image.src=”xxx.gif”;这样作就至关于给浏览器缓存了一张图片 image.onload = function() { $(".loadText").animate({"width":parseInt(i / len * 100) + "%"},function(){ if (i < len) { setTimeout('loadImage()',100); } else { setTimeout('showPage()',50); } }); } i++; } function showPage() { $(".loading").hide(); $(".wrapBox").show(); }
html部分htm
<div class="loading"> <div class="loadBg"> <img alt="" src="images/load_bar.jpg"> <div class="loadText"></div> </div> <div class="loadhint"><img src="images/loading.png" /></div> </div>
css部分对象
.wrapBox{ display:none; max-width:640px;} .loading{ position:absolute; top:350px; left:50%;z-index:99; width:415px; margin-left:-207px;} .loadBg{ width:100%; margin-bottom:24px; position:relative;} .loadText{ position:absolute; left:0; top:0; z-index:3; background:#80d2dd; height:100%;} .loadhint{ text-align:center;}
这个效果只是我从项目中摘出来的部分,可能根据我的状况使用不一样,可是明白了blog
var image = new image();
image.onload = function(){}
这些应该不是很麻烦,最起码原理就这些。