页面缓存加载百分比效果

在手机端制作页面的时候,如果图片过多,会出现一个混存条,或者数字百分比的数字提示

(如图)

那么我们应该怎么制作这个一直loading的效果呢!

一些浏览器采用一些措施来缓解这一问题,比如试图通过在本地缓存中存储图像,从而使随后对图像的调用能够立即被满足;

但是在图像第一次被调用时依然会存在一些延迟。预载入是在需要图像之前将其下载到缓存的一种方法。

预载入图像最简单的方法是在 JavaScript 中实例化一个新 Image() 对象,然后将需要载入的图像的 URL 作为参数传入。

js部分结构:

//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部分

<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;}

这个效果只是我从项目中摘出来的部分,可能根据个人情况使用不同,但是明白了

var image = new image();

image.onload = function(){}

这些应该不是很麻烦,最起码原理就这些。

时间: 2024-12-13 22:41:45

页面缓存加载百分比效果的相关文章

jquery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较

想要添加这个效果,先来弄明白页面的加载和事件执行顺序,看这个简单例子: 1 <html xmlns="http://www.w3.org/1999/xhtml"> 2 <head > 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 4 <title>验证加载顺序</title> 5 <s

极客编程挑战#018:设计独一无二的页面 ”加载中“ 效果

本期挑战 请使用以下开练 LOGO 素材 为基础(三选一即可): 图片(base64):http://www.gbtags.com/gb/rtreplayerpreview/808.htm SVG图形:http://www.gbtags.com/gb/rtreplayerpreview/809.htm 或者基于以上图形的的自定义LOGO设计 挑战要求: 使用你所熟悉的任意前端技术(JS,CSS3,画布,SVG动画等等),生成一个漂亮动态的 ”页面加载中“ 效果,持续5秒后,页面即导向地址:htt

两种页面加载等待效果的实现

第一种,当打开一个新的页面时,这个页面的加载时间可能会比较长,可以用以下js实现页面等待效果,将该js导入加载的页面即可使用 //获取浏览器页面可见高度和宽度 var _PageHeight = document.documentElement.clientHeight, _PageWidth = document.documentElement.clientWidth; //计算loading框距离顶部和左部的距离(loading框的宽度为215px,高度为61px) var _Loading

Android批量图片加载经典系列——afinal框架实现图片的异步缓存加载

一.问题描述 在之前的系列文章中,我们使用了Volley和Xutil框架实现图片的缓存加载(查看系列文章:http://www.cnblogs.com/jerehedu/p/4607599.html#pltpjz),接下来我们再介绍一下afinal 框架的使用. Afinal 是一个android的http框架.sqlite orm 和 ioc 框架.使其更加简单易用,Afinal的宗旨是简洁,快速.约定配置的方式之后,尽量一行代码完成所有事情,代码入侵性小,在三者中比较推荐.在这里我们主要使用

通过页面预加载(preload)提升小程序的响应速度

GitHub: https://github.com/WozHuang/mp-extend 主要目标 如果小程序在打开新页面时需要通过网络请求从接口中获取所用的数据,在请求完成之前页面都会因为没有数据而呈现一片空白,解决这个问题常见的解决方案有: 先使用从缓存中取出上一次的数据,等到请求结束后再使用请求得到的数据(这个对于变动不大的数据是完全可行的,但是对于变动大或者以内容为主的功能并不合适) 在加载时显示骨架屏(知乎和饿了么的移动端有的地方是这么做的) 前一个页面预加载下一个页面的数据,达到秒

前端技术-HTML页面的加载

HTML页面的加载 HTML页面的加载实际上是基于http过程+浏览器对数据的解析渲染. http协议的请求过程是基于TCP协议的.http是要基于TCP连接基础上,简单的说,TCP单纯建立连接,不涉及任何我们需要请求的实际数据,简单的传输.http基于TCP建立的连接来收发数据,即实际应用上来的. 一个HTML页面的加载的交互流程大致如下: 0.输入URL1.解析URL2.构造并发送HTTP请求服务器的永久重定向响应(从 http://example.com 到 http://www.exam

HTML页面的加载

HTML页面的加载实际上是基于http过程+浏览器对数据的解析渲染. http协议的请求过程是基于TCP协议的.http是要基于TCP连接基础上,简单的说,TCP单纯建立连接,不涉及任何我们需要请求的实际数据,简单的传输.http基于TCP建立的连接来收发数据,即实际应用上来的. 一个HTML页面的加载的交互流程大致如下: 0.输入URL1.解析URL2.构造并发送HTTP请求服务器的永久重定向响应(从 http://example.com 到 http://www.example.com)浏览

document.readyState等属性,判断页面是否加载完

如何在页面加载完成后再去做某事?什么方法可以判断当前页面加载已完成?document.readyState 判断页面是否加载完成?javascript提供了document.readyState=="complete"方法来解决当前页面加载判断的问题. <script type="text/javascript">   function initView(){         if (document.readyState=="complete

记录下页面懒加载代码

今天京东在做图书品类的活动,买了几本心仪的书,闲暇之余看了看京东图书促销页前端代码,有很多的工具类js文件,如用于cookie.跨域.数组.业务方面等.突然看到了页面懒加载代码,做下记录. /** * 图片懒加载 */ (function(){ if(jQuery.fn.lazyLoad) return; jQuery.fn.lazyLoad = function(config){ //相关参数 var conf = jQuery.extend({ defClass:"J_imgLazyload