arr的数组【8,6,15,24,60】,
要做的效果:
例如数字8;
先显示0++,然后一直累加到8,停止。
js怎么写哟
图片里面的数字初始为0;
每秒加1一直加到上面图片显示的数字就停
@hsfzxjy update:
经过与题主的讨论,问题整理如下:
界面上有五个
<div class="countNum"></div>
,用于显示数字,初始时数字均为 0数组
arr
存储的是五个div
显示的数字的上限程序开始时,每个
div
中的数字每隔一秒自增 1,直至到达上限,自增停止
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;
}
败给你了,你那个数组到底干嘛用的? 一直也没说。如果单纯累加的话,完全可以把累加次数设成参数由方法外部传入。