首页 > js循环累加,累加到已知数为止

js循环累加,累加到已知数为止

arr的数组【8,6,15,24,60】,

要做的效果:
例如数字8;
先显示0++,然后一直累加到8,停止。

js怎么写哟

图片里面的数字初始为0;

每秒加1一直加到上面图片显示的数字就停


@hsfzxjy update:

经过与题主的讨论,问题整理如下:


for (var i = 0; i < arr[0]; i++) {
    // 依次显示 i
}

这样么?完全不知道你在说什么!


https://jsfiddle.net/hsfzxjy/aaneazun/2/

let a = [8, 6, 15, 24, 20];

function increase (index, current) {
    let sup = a[index];
    if (current > sup) return;
    
    $(`.countNum:eq(${index})`).text(current);
    
    setTimeout(() => {
        increase(index, current + 1)
    }, 1000);
}

for (let i = 0; i <= a.length; i++) increase(i, 0);

拿好不送


ES 5 version:

var a = [8, 6, 15, 24, 20];

function increase (index, current) {
    var sup = a[index];
    if (current > sup) return;
    
    $(".countNum:eq("+index+")").text(current);
    
    setTimeout(function () {
        increase(index, current + 1)
    }, 1000);
}

for (var i = 0; i <= a.length; i++) increase(i, 0)

自己转嘛


其实楼主没描述好吧?
楼主想要一个数字动态刷刷刷,然后到了就停。

楼主需要这个:http://www.cnblogs.com/lhb25/p/countup-js-animates-numerical-data.html


顺手写了一下~

    var arr = [8,6,15,24,60];
    var cns = document.getElementsByClassName('countNum');
    var interval = setInterval(function(){
        var r = 0;
        arr.forEach(function(o, i){
            var text = +cns[i].innerHTML;
            if(text < arr[i]){
                cns[i].innerHTML = ++text;
                r++;
            }
        });
        r == 0 && clearInterval(interval);
    }, 100);

var sum = 0;//预先显示的数字
for (var i = 0; i < 8; i++) {
    sum += i;
}

败给你了,你那个数组到底干嘛用的? 一直也没说。如果单纯累加的话,完全可以把累加次数设成参数由方法外部传入。

【热门文章】
【热门文章】