var n = $("#lblNum").val(); //数字
for (i = 0; i < n; i++) {
setTimeout("testFun()", 1000);
}
function testFun () {
var num = $("#lblNum").val();
$("#lblNum").val(parseInt(num) - 1);
}
如代码,现在是页面停顿一会lblNum的值直接变成0,我想要的效果是等一秒,lblNum的值减一,直到减到0位置,可以看到中间的过程。求高人指点,怎么实现。
function testFun () {
var num = $("#lblNum").val();
if(num =="0"||num==""||parseInt(num)<0||!/^\d+$/g.test(num)) return;
$("#lblNum").val(parseInt(num) - 1);
setTimeout("testFun()", 1000);//不用放在循环里;放这里即可
}
//调用testFun ()即可
{
n--;
if(n<0){
clearInterval(t);
}
$("#lblNum").val(n);
}
setTimeout("testFun()", 1000);
}这循环会一次性设置n个延迟,然后1秒后执行n次testFun()