|
@@ -168,11 +168,23 @@ var comm = {
|
|
|
return this.isShowDeel(temp.parentNode);
|
|
|
}
|
|
|
},
|
|
|
- visible: function (ele) { // 让一个元素隐藏(visible)
|
|
|
+ visible: function (ele) { // 让一个元素隐藏(visibility)
|
|
|
ele.style.visibility = 'visible'
|
|
|
},
|
|
|
- hidden: function (ele) { // 让一个元素显示(visible)
|
|
|
- ele.style.visibility = 'hidden'
|
|
|
+ hidden: function (ele) { // 让一个元素显示(visibility)
|
|
|
+ ele.style.visibility = 'hidden'
|
|
|
+ },
|
|
|
+ visibleClass: function (cls) { // 让一个类的元素隐藏(visibility)
|
|
|
+ var arr = document.getElementsByClassName(cls)
|
|
|
+ for (var i = 0; i < arr.length; i++) {
|
|
|
+ arr[i].style.visibility = 'visible'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ hiddenClass: function (cls) { // 让一个类的元素显示(visibility)
|
|
|
+ var arr = document.getElementsByClassName(cls)
|
|
|
+ for (var i = 0; i < arr.length; i++) {
|
|
|
+ arr[i].style.visibility = 'hidden'
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
/* ====================================================================================== */
|
|
@@ -192,7 +204,6 @@ var comm = {
|
|
|
// 5、将新元素加入到父元素中
|
|
|
ele.appendChild(newEle)
|
|
|
},
|
|
|
-
|
|
|
// 帧动画(定时器容器(存在一个对象内的一个属性),图片群所在的元素,执行速度(单位:毫秒),是否只执行一次,执行完毕的回调函数)
|
|
|
zhenAnimation: function (interval, ele, speed, once, fn) {
|
|
|
var cont = document.getElementsByClassName('container')[0]
|
|
@@ -220,8 +231,44 @@ var comm = {
|
|
|
if (i == imgs.length) {i=0; fn&&fn()}
|
|
|
imgs[i].style.visibility = 'visible'
|
|
|
}, speed)
|
|
|
+ },
|
|
|
+ // 帧动画加强版,ele格式:<div id="yw1" data-url="图片地址前缀(不包括编号.png)" data-max="个数(帧动画图片数量+1)">
|
|
|
+ zhenAnimationPro: function (interval, ele, speed, once, fn) {
|
|
|
+ // 判断是否第一次执行该帧动画,是则加载图片
|
|
|
+ if (!ele.getAttribute('isload')) {
|
|
|
+ var src = ele.getAttribute('data-url')
|
|
|
+ for (var j = ele.getAttribute('data-max'); j >= 0; j--) {
|
|
|
+ ele.innerHTML = '<img src="' + src + comm.addPreZero(j) + '.png" style="position: absolute;visibility: hidden;">' + ele.innerHTML
|
|
|
+ }
|
|
|
+ ele.setAttribute('isload', 1)
|
|
|
+ }
|
|
|
+ var cont = document.getElementsByClassName('container')[0]
|
|
|
+ // 清除定时器
|
|
|
+ clearInterval(cont[interval])
|
|
|
+ // 获取图片群并全部隐藏
|
|
|
+ var imgs = ele.getElementsByTagName('img')
|
|
|
+ for (var i = 0; i < imgs.length; i++) {
|
|
|
+ imgs[i].style.visibility = 'hidden'
|
|
|
+ }
|
|
|
+ // 单独显示第一张图
|
|
|
+ var i = 0
|
|
|
+ imgs[i].style.visibility = 'visible'
|
|
|
+ // 设置定时器
|
|
|
+ cont[interval] = setInterval(function() {
|
|
|
+ // 判断是否只执行一次
|
|
|
+ if (i == imgs.length-1 && once) {
|
|
|
+ // 每轮执行完成的回调函数
|
|
|
+ clearInterval(cont[interval])
|
|
|
+ fn&&fn()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 前一张图隐藏、后一张图显现、可循环执行
|
|
|
+ imgs[i++].style.visibility = 'hidden'
|
|
|
+ if (i == imgs.length) {i=0; fn&&fn()}
|
|
|
+ imgs[i].style.visibility = 'visible'
|
|
|
+ }, speed)
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
/* ====================================================================================== */
|
|
|
|
|
|
setCookie: function (name, value, t) { // 设置cookie
|
|
@@ -240,39 +287,6 @@ var comm = {
|
|
|
return null;
|
|
|
}
|
|
|
},
|
|
|
- getStack: function (stackName) { //获取历史栈
|
|
|
- var _this = this;
|
|
|
- var stack;
|
|
|
- if (_this.getQueryString('stack')) {
|
|
|
- stack = JSON.parse(_this.getQueryString('stack'));
|
|
|
- } else if (
|
|
|
- _this.getCookie(stackName) && JSON.parse(_this.getCookie(stackName))
|
|
|
- ) {
|
|
|
- stack = JSON.parse(_this.getCookie(stackName))
|
|
|
- }
|
|
|
- // 如果cookie上没有,就把上一页路径做为返回路径
|
|
|
- else {
|
|
|
- stack = [];
|
|
|
- }
|
|
|
- return stack;
|
|
|
- },
|
|
|
- pushStack: function (stackName, url) { // 添加历史栈
|
|
|
- var _this = this;
|
|
|
- var stack;
|
|
|
- stack = _this.getStack(stackName);
|
|
|
- stack.push(url);
|
|
|
- _this.setCookie('stackName', JSON.stringify(stack));
|
|
|
- _this.setCookie(stackName, JSON.stringify(stack));
|
|
|
- },
|
|
|
- popStack: function (stackName) { // 删除历史栈
|
|
|
- var _this = this;
|
|
|
- var stack;
|
|
|
- var delTop;
|
|
|
- stack = _this.getStack(stackName);
|
|
|
- delTop = stack.pop();
|
|
|
- _this.setCookie(stackName, JSON.stringify(stack));
|
|
|
- return delTop;
|
|
|
- },
|
|
|
|
|
|
/* ====================================================================================== */
|
|
|
|
|
@@ -294,23 +308,15 @@ var comm = {
|
|
|
return Math.floor(Math.random() * (max - min)) + min;
|
|
|
},
|
|
|
arrRandom: function (arr) { // 使数组随机排序,返回一个新数组
|
|
|
- // var newArr = []
|
|
|
- // var oldArrLength = arr.length
|
|
|
- // for(var i = 0; i < oldArrLength; i++) {
|
|
|
- // newArr.push(arr.splice(getRandom(0,arr.length),1)[0])
|
|
|
- // }
|
|
|
- // return newArr
|
|
|
arr.sort(function () {
|
|
|
return 0.5 - Math.random()
|
|
|
})
|
|
|
},
|
|
|
createArr: function (arr, num, content) { // 生成数组,
|
|
|
- // 输出举例:var arr = [{num: 5, content: {id: 1, imgurl: 'img/1.jpg'}}, {num: 2, content: {id: 2, imgurl: 'img/2.jpg'}}]
|
|
|
// 调用举例:comm.createArr(arr, 'num', 'content')
|
|
|
+ // 输出举例:var arr = [{num: 5, content: {id: 1, imgurl: 'img/1.jpg'}}, {num: 2, content: {id: 2, imgurl: 'img/2.jpg'}}]
|
|
|
var newArr = []
|
|
|
for (var i = 0; i < arr.length; i++) {
|
|
|
- console.log(arr[i]);
|
|
|
- console.log(arr[i][num]);
|
|
|
for (var j = 0; j < arr[i][num]; j++) {
|
|
|
newArr.push(arr[i][content])
|
|
|
}
|
|
@@ -327,7 +333,7 @@ var comm = {
|
|
|
return true
|
|
|
}
|
|
|
},
|
|
|
- timestamp: function (time) { // 转换时间格式
|
|
|
+ timestamp: function (time) { // 转换时间格式过滤器
|
|
|
var sec = Math.floor(time % 60)
|
|
|
var min = Math.floor(time / 60 % 60)
|
|
|
var hour = Math.floor(time / 60 / 60)
|
|
@@ -336,6 +342,19 @@ var comm = {
|
|
|
hour = hour < 10 ? '0' + hour : hour
|
|
|
var timeStr = hour + ':' + min + ':' + sec;
|
|
|
return timeStr
|
|
|
+ },
|
|
|
+ addPreZero: function (num) { // 帧动画补零过滤器
|
|
|
+ if (num < 10) {
|
|
|
+ return '0000' + num;
|
|
|
+ } else if (num < 100) {
|
|
|
+ return '000' + num;
|
|
|
+ } else if (num < 1000) {
|
|
|
+ return '00' + num;
|
|
|
+ } else if (num < 10000) {
|
|
|
+ return '0' + num;
|
|
|
+ } else {
|
|
|
+ return num;
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
/* ====================================================================================== */
|