首页 > 解决方案 > 我在 setTimeout 调用中做错了什么?

问题描述

我正在尝试编写一些显示文本的代码,然后在两秒钟后将其删除,但是,setTimeout() 方法对我来说似乎无法正常工作,被调用的函数正在运行,没有延迟。这是代码:

IDtext('IP-saved', "New IP Address saved successfully!");
setTimeout(IDtext('IP-saved', ""), 2000);

function IDtext(ID, text) {
    document.getElementById(ID).innerHTML = text;
}

我在这里做错了什么?

标签: javascripthtmlsettimeout

解决方案


正确的语法是

setTimeout(IDtext, 2000, 'IP-saved', '');

被引用函数的参数必须放在最后

请参阅setTimeout()的文档

你的语法方式是
var timeoutID = scope.setTimeout(function[, delay, arg1, arg2, ...]);


推荐阅读