我有一个简单的循环函数用于倒计时:
function countdown(numright) {
for (i = 0; i <= numright; ++i) {
(function (i) {
setTimeout(function () {
console.log( i +1,(numright - i));
$("#result").html(i +1,(numright - i)));
}, i * 1000);
})(i);
}
}
countdown(5);
我需要一个:所以它显示:
1:5
2:4 etc....
还需要将结果输出到html元素,上面显示的是第一个数字但不是第二个。它适用于控制台1 5 2 4等。
答案 0 :(得分:1)
只需进行一些字符串连接,然后使用append
代替html
。
function countdown(numright) {
for (i = 0; i <= numright; ++i) {
(function (i) {
setTimeout(function () {
var out = i +1 + ':' + (numright - i);
console.log(out);
$("#result").append(out + '<br/>');
}, i * 1000);
})(i);
}
}
countdown(5);
您的原始代码中也出现了错误,我已修复。
答案 1 :(得分:0)
你想要这样的东西:
function countdown(numright) {
var val;
for (i = 0; i <= numright; ++i) {
(function (i) {
setTimeout(function () {
val = (i +1) + ':' + (numright - i);
console.log(val);
$("#result").append(val);
}, i * 1000);
})(i);
}
}
countdown(5);