我现在只能做到,吧数组里面的数字放到标签里面数字倒数循环,试了一早上都弄不出来!求大神看看,怎么弄!!
1 回答
![?](http://img1.sycdn.imooc.com/5458463b0001358f02200220-100-100.jpg)
湖上湖
TA贡献2003条经验 获得超2个赞
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);
添加回答
举报
0/150
提交
取消