开发者社区> 问答> 正文

js中setTimeout函数疑问

遇到一个好奇怪的问题

function RefreshData(time,Ele,url) {
Ele.innerHTML = "将在" + time + "秒后自动跳转";
if (time == 0) {
window.location = url; //url为到时跳转的页面URL
}
}
function Update(secs,Ele,url) {
for (var i = secs; i >= 0; i--) {
var code = “RefreshData(” + i + “,” + Ele + “,” + url + “)";
window.setTimeout(code, (secs - i) * 1000);
}
}

感觉window.setTimeout(code, (secs - i) * 1000);调试了好久一直不通过,以前没写过js代码。

展开
收起
小旋风柴进 2016-03-18 11:34:26 1898 0
1 条回答
写回答
取消 提交回答
  • 双引号中英文状态不分,而且你搞个for语句是要干嘛?你这样会启动10个计时器了

    一个函数就行了

         function Update(secs, Ele, url) {
            var timer = setInterval(function () {
                secs--;
                Ele.innerHTML = "将在" + time + "秒后自动跳转";
                if (secs == 0) {
                    clearInterval(timer);
                    window.location = url; //url为到时跳转的页面URL
                }
            }, 1000);
        }
    2019-07-17 19:06:16
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载