资源预加载---preload

再次更新预加载组件,更新点如下:

  1. 添加ES6语法支持

  2. React-Preload


preload

资源预加载组件

  • 队列,可以支持队列加载和回调,也可以加载视频或者音频

  • 进度条,可以动态获取进度条信息

  • 支持img标签的预加载,添加pSrc属性即可

  • 原生ES5

  • demo

Install

git clone https://github.com/jayZOU/preload.git
npm install
 npm run es6

访问http://localhost:8080/es6-demo

Examples

    <audio pSrc="../public/audio/a.mp3" preload="auto" controls></audio>
    <audio pSrc="../public/audio/b.mp3" preload="auto" controls></audio>

    <img pSrc="../public/image/b1.jpg" alt="">
    <img pSrc="../public/image/b2.jpg" alt="">
    <img pSrc="../public/image/b3.jpg" alt="">
    <img pSrc="../public/image/b4.jpg" alt="">
    /**
    *    Preload 资源预加载组件
    *    @author jayzou
    *    @time 2016-1-12
    *    @version 1.0.6
    *    @class Preload
    *    @param {object}    sources                必填  加载队列容器,支持队列加载以及加载一个队列后传入回调
    *   @param {boolean} isDebug               选填      是否开启debug选项,用于移动端调试,默认false
    *   @param {object} connector           选填      后台数据接口,可选择同步或异步
    *   @param int         loadingOverTime      选填      预加载超时时间,默认15, 单位:秒
    *   @param {object} loadingOverTimeCB   选填      预加载超时回调
    *    @param {object}    wrap                选填    进度条容器,返回记载进度信息
    *    @param {object}    completeLoad        选填    完成所有加载项执行回调,包括同、异步获取数据
    **/

    var preload = new Preload({
        isDebug: true,
        sources: {
            imgs: {
                source: [
                    "../public/image/b2.jpg",
                    "../public/image/b1.jpg"
                ],
                callback: function() {
                    console.log("队列1完成");
                }
            },
            audio: {
                source: [
                    "../public/audio/a.mp3",
                    "../public/audio/b.mp3"
                ]
            },
            imgs2: {
                source: [
                    "../public/image/b3.jpg",
                    "../public/image/b4.jpg",
                    "http://7xl041.com1.z0.glb.clouddn.com/OrthographicCamera.png",
                    "http://7xl041.com1.z0.glb.clouddn.com/audio.gif",
                ],
                callback: function() {
                    console.log("队列3完成");
                }
            }
        },
        loadingOverTime: 3,
        loadingOverTimeCB: function(res) {
            console.log("资源加载超时:", res);
        },
        connector: {
            int1: {
                url: 'http://localhost/test/index.php?callback=read&city=上海市',
                jsonp: true
            },
            int2: {
                url: 'http://localhost/test/index.php?callback=read&city=深圳市',
                jsonp: false,
                callback: function(data) {
                    console.log("同步:", data);
                }
            }
        },
        progress: function(completedCount, total) {
            // console.log(total);
            console.log(Math.floor((completedCount / total) * 100));
        },
        completeLoad: function() {
            console.log("已完成所有加载项");
        }
    });

    function read() {
        console.log("异步:", arguments[0])
    }

Notes

  • 队列名称不能重名,否则后面的队列会覆盖前面

  • ES6模式编写,队列之间同步加载,队列内资源为异步加载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值