我现在只能做到,吧数组里面的数字放到标签里面
数字倒数循环,试了一早上都弄不出来!
求大神看看,怎么弄!!
run = function(num, index){
var $elem = $('.countNum').eq(index);
var numMemo = num;
return function() {
num--;
if (num < 0) {
num = numMemo;
}
$elem.text(num);
};
};
大致思路如此。重点就是 run 方法返回的也是一个函数。
如图:
// 回复更新
// 本质是一样的
run = function(arr){
var $countNums = $('.countNum');
var arrCopy = arr.slice(0);
return function() {
// var a = []
for (var i = 0, len = arrCopy.length; i < len; i++) {
arrCopy[i] = arrCopy[i] - 1;
if (arrCopy[i] < 0) {
arrCopy[i] = arr[i];
}
// a[i] = arrCopy[i]
$countNums.eq(i).text(arrCopy[i]);
}
// console.log(a);
};
};
/// 更新第三次
run = function(arr, done){
var $countNums = $('.countNum');
var len = arr.length;
var arrTemp = [];
for (var i = 0; i < arr.length; i++) {
arrTemp[i] = 0;
}
return function() {
// 是否所有的都完成了
var allOff = true;
for (var i = 0; i < len; i++) {
if (arrTemp[i] <= arr[i]) {
// 只要有一个没完成
// 那就是false
allOff = false;
$countNums.eq(i).text(arr[i]);
arrTemp[i] = arrTemp[i] + 1;
}
}
if (allOff && done) {
done();
}
};
};
var runTimer = run([20, 14, 6, 9], function() {
// 都完成后清空定时器
clearTimeout(timer);
});
var timer = setInterval(runTimer, 1000);