使用PreloadJS加载图片资源的基础方法详解


Posted in Javascript onFebruary 03, 2020

一. 使用createjs里的LoadQueue函数实现异步加载图片,监听加载进度

1.实例对象LoadQueue加载队列对象

var queue = new createjs.LoadQueue(false);

2.需要监听常用到的三个方法

//监听进度事件
queue.on("progress", function (e) {
   
});
//监听加载事件
queue.on("fileload", function (e) {
 
});
//监听完成事件
queue.on("complete", function (e) {
 
});

3.实现监听进度

html代码:

<h2>loading...<span id="progress">0%</span></h2>

js代码:

//监听进度事件
queue.on("progress", function(e){
var proNum = Math.ceil(e.progress * 100);

$("#progress").html( proNum + "%");
});

4.添加加载资源

//加载单个图片
queue.loadFile("images/arrow.png");
//加载单个图片,带id
queue.loadFile({id: "img1", src:"images/slide3-bg.png"});
//加载多个文件,指定目录下
queue.loadManifest([
  "slide1-bg.png",
  "slide2-bg.png",
  "slide3-bg.png"
], true, "images/");

5.获取加载完的资源

queue.on("fileload", function (e) {
  document.body.appendChild(e.result);
});

二:完整的代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>PreloadJs加载图片</title>
</head>
<body>
<div id="img"></div>
<h2>loading...<span id="progress">0%</span></h2>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/PreloadJS/1.0.1/preloadjs.min.js"></script>
<script>
  var queue = new createjs.LoadQueue(false);
  //监听进度事件
  queue.on("progress", function(e){
    var proNum = Math.ceil(e.progress * 100);
    $("#progress").html( proNum + "%");
  });
  //监听完成事件
  queue.on("complete", function(){
    console.log("加载完成");
    console.log(queue.getResult("img1"));
  });
  //加载单个图片
  queue.loadFile("images/arrow.png");
  //加载单个图片,带id
  queue.loadFile({id: "img1", src:"images/slide3-bg.png"});
  //加载多个文件,指定目录下
  queue.loadManifest([
    "slide1-bg.png",
    "slide2-bg.png",
    "slide3-bg.png"
  ], true, "images/");
  queue.on("fileload", function (e) {
    document.body.appendChild(e.result);
  });
</script>
</body>
</html>

更多关于PreloadJS加载页面资源的相关文章请点击下面的相关链接

Javascript 相关文章推荐
js或css文件后面跟参数的原因说明
Jan 09 Javascript
js制作的鼠标悬浮时产生的下拉框效果
Oct 27 Javascript
js控制浏览器全屏示例代码
Feb 20 Javascript
node.js中的buffer.fill方法使用说明
Dec 14 Javascript
如何减少浏览器的reflow和repaint
Feb 26 Javascript
JS取模、取商及取整运算方法示例
Oct 13 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
Nov 30 Javascript
JS作用域深度解析
Dec 29 Javascript
javascript 网页进度条简单实例
Feb 22 Javascript
node.js学习之断言assert的使用示例
Sep 28 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
Apr 14 Javascript
小程序实现录音功能
Sep 22 Javascript
使用preload预加载页面资源时注意事项
Feb 03 #Javascript
jQuery实现小火箭返回顶部特效
Feb 03 #jQuery
JS常用正则表达式超全集(密码强度校验,金额校验,IE版本,IPv4,IPv6校验)
Feb 03 #Javascript
微信小程序实现上传多个文件 超过10个
Mar 30 #Javascript
微信小程序实现同时上传多张图片
Feb 03 #Javascript
解决小程序无法触发SESSION问题
Feb 03 #Javascript
vue组件创建的三种方式小结
Feb 03 #Javascript
You might like
新的一年,新的期待:DC在2020年的四部动画电影
2020/01/01 欧美动漫
解决控件遮挡问题:关于有窗口元素和无窗口元素
2007/01/28 PHP
浅析php header 跳转
2013/06/17 PHP
php调用google接口生成二维码示例
2014/04/28 PHP
PHP获取时间排除周六、周日的两个方法
2014/06/30 PHP
php使用memcoder将视频转成mp4格式的方法
2015/03/12 PHP
Document对象内容集合(比较全)
2010/09/06 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
jQuery页面加载初始化的3种方法(推荐)
2016/06/02 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
清除输入框内的空格
2016/12/21 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
2017/03/08 Javascript
详解vuex 中的 state 在组件中如何监听
2017/05/23 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
JavaScript函数中的this四种绑定形式
2017/08/15 Javascript
js解决软键盘遮挡输入框的问题分享
2017/12/19 Javascript
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
vux uploader 图片上传组件的安装使用方法
2018/05/15 Javascript
通过实践编写优雅的JavaScript代码
2019/05/30 Javascript
[52:52]完美世界DOTA2联赛PWL S3 LBZS vs access 第一场 12.10
2020/12/13 DOTA
Python实现拼接多张图片的方法
2014/12/01 Python
Python调用C# Com dll组件实战教程
2017/10/12 Python
浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
2018/10/14 Python
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
python实现飞行棋游戏
2020/02/05 Python
世界上最大的曲棍球商店:Pro Hockey Life
2017/10/30 全球购物
英国大码女性时装零售商:Evans
2018/08/29 全球购物
华美博弈C/VC工程师笔试试题
2012/07/16 面试题
自荐信范文
2019/05/20 职场文书
小学生节约用水倡议书
2019/08/12 职场文书
nginx配置虚拟主机的详细步骤
2021/07/21 Servers
基于PyQt5制作一个群发邮件工具
2022/04/08 Python
openEuler 搭建java开发环境的详细过程
2022/06/10 Servers
Java实现注册登录跳转
2022/06/16 Java/Android
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL