javascript - 数组里面数字循环倒数!
PHP中文网
PHP中文网 2017-04-11 11:26:48
[JavaScript讨论组]

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

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

PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
伊谢尔伦
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);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号