首页 > 数组里面数字循环倒数!

数组里面数字循环倒数!

我现在只能做到,吧数组里面的数字放到标签里面

数字倒数循环,试了一早上都弄不出来!
求大神看看,怎么弄!!


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);
【热门文章】
【热门文章】