JavaScript资源预加载组件和滑屏组件的使用推荐
作者:jayzou 时间:2024-04-22 22:35:11
资源预加载组件——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
标签:JavaScript,组件
0
投稿
猜你喜欢
Python MySQLdb 使用utf-8 编码插入中文数据问题
2023-07-31 11:04:13
浅析Python 抽象工厂模式的优缺点
2021-08-12 01:33:17
python3 判断列表是一个空列表的方法
2022-02-03 09:40:07
python3列表删除大量重复元素remove()方法的问题详解
2021-02-02 19:26:03
access改mdb为asp所带来的灾难 附mdb防下载方法
2011-03-03 11:07:00
Python中loguru日志库的使用
2023-03-02 13:24:27
利用PHP实现递归删除链表元素的方法示例
2024-04-23 09:09:41
深入了解Python中pop和remove的使用方法
2021-02-14 00:32:43
Python3.遍历某文件夹提取特定文件名的实例
2022-12-08 04:48:59
python字符串拼接+和join的区别详解
2021-10-19 01:26:39
查看已安装tensorflow版本的方法示例
2021-09-21 03:49:11
貌似很强的mysql备份策略分享
2024-01-27 18:37:03
Python编程使用PyQt5库实现动态水波进度条示例
2021-11-16 18:50:16
Python中安装库的常用方法介绍
2022-04-03 08:13:17
详解使用Python写一个向数据库填充数据的小工具(推荐)
2024-01-13 19:06:41
Advanced SQL Injection with MySQL
2024-01-24 18:09:24
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2024-04-29 13:40:59
Python中使用copy模块实现列表(list)拷贝
2022-05-13 02:46:48
Python 常用 PEP8 编码规范详解
2022-09-03 06:21:12
windows 10下安装搭建django1.10.3和Apache2.4的方法
2022-01-01 01:07:51