JavaScript资源预加载组件和滑屏组件的使用推荐
来源: 阅读:682 次 日期:2016-07-21 14:30:57
温馨提示: 小编为您整理了“JavaScript资源预加载组件和滑屏组件的使用推荐”,方便广大网友查阅!

这篇文章主要介绍了JavaScript资源预加载组件和滑屏组件的使用推荐,分别为preload和slide的用法讲解,使用起来非常简单,需要的朋友可以参考下

资源预加载组件——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模式编写,队列之间同步加载,队列内资源为异步加载

滑屏组件——slide

自定义滑屏组件,可定制滑屏动画

可控制每屏动画效果

Install:

git clone https://github.com/jayZOU/slide.git

npm install

gulp

访问http://localhost:8080/

Examples

全选复制放进笔记  /**

  *  slide 滑屏组件

  *  @author jayzou

  *  @time 2015-10-25

  *  @version 0.0.1

  *  @class Slide

  *  @param String  wrap          必填  传入滑动容器ID

  *  @param String  currentClass      选填  滑动时切换动画class,默认current

  *  @param boolean  startLocalstorage    选填  记录当前浏览页面

  *  @param {Object} onChange        选填  切换完成回调

  *  @param {Object} onDownChange      选填  下滑完成时回调

  *  @param {Object} onUpChange       选填  上滑完成时回调

  *  @param {Object} defaultClass      选填  滑动过程动画效果

  **/

  var slide = new Slide({

    wrap: 'wrap',          //必填,传入滑动容器ID

    currentClass: 'current',    //选填,滑动时切换动画class

    startLocalstorage: false,    //选填,是否开启localstorage记录页面返回后是否回到上次访问的页面,默认false

    onChange: function(){      //选填,每屏切换完成时的回调

      console.log("onchange");

    },

    onDownChange: function(){    //选填,下滑完成时回调

      console.log("onDownChange");

    },

    onUpChange: function(){    //选填,上滑完成时回调

      console.log("onUpChange");

    },

    defaultClass: {          //选填,滑动过程动画效果

      'webkitTransition': '-webkit-transform 0.5s ease',  //需要加前缀

      'transform': 'translate(0px, 0px)'          //不需要加前缀

    },

  });

  // slide.next();            //下一页

  // slide.prev();            //上一页

  // slide.playTo(3);            //直接跳转第n页

  // console.log(slide.getPage());    //获取为当前页数

  // slide.lockPage();          //锁住屏幕,禁止滑动

  // slide.unLockPage();          //解锁屏幕,允许滑动

  //辅助类

  // slide.toggleClass(targ, className);  //置换class

  // slide.addClass(targ, className);    //添加class

  // slide.removeClass(targ, className);  //删除class

  // slide.css(o, style);          //添加style样式

Notes

滑动容器只能传入ID值,不允许传入class

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map