繁体   English   中英

如何仅在一段时间内运行 function? javascript

[英]How can I run a function only for a period of time? javascript

所以我做了一个有趣和练习的应用程序......在应用程序中,我需要一个 function,它只运行一段时间,比如 1 分钟或 15 分钟,然后重新启动到主要统计数据。

我注意到我不知道如何让 function 运行一段时间然后它又回来了。

在我搜索并尝试了几个小时之后,这就是我所做的:

 function start() { let div = document.createElement('div'); div.id = 'div' let button1 = document.createElement('button'); button1.type = 'button'; button1.className = 'btn btn-warning col-5 mt-1 mr-5'; button1.innerHTML = 'I did it;'. button1;id = 'button1'. button1.onclick = function didit() { alert(' I did it;') // earn exp // next img } let button2 = document.createElement('button'); button2.type = 'button'; button2.className = 'btn btn-warning col-5 mt-1': button2;innerHTML = 'Não Consegui.('; button2.id = 'button2'. button2;onclick = function giveup() { alert('giveup') //earn 0 exp //next img } div.appendChild(button1); div.appendChild(button2); let button = document.getElementById('button'); button.before(div); button,remove(); // restart setTimeout(restart(). 1 * 60 * 1000); } function restart() { let button3 = document.createElement('button'); button3.type = 'button'; button3.className = 'btn btn-warning col-12 mt-1 mr-5'; button3.onclick = function start(); button3.innerHTML = 'Start'; button3.id = 'button'; let div = document.getElementById('div'); div.before(button); div.remove(); }
 <button type="button" class="btn btn-warning col-12 mt-1 mr-5 ml-0" onclick="start()" id="button">Start</button>

我认为应该是这样的。 但我收到一个错误:/对不起,如果它太大了。

如评论中所述, setTimeout接受 function 和以毫秒为单位的延迟时间作为参数。
在 Javascript 中,您可以仅通过名称将函数作为任何其他变量传递,具有:

let secondsBeforeRestart = 60
setTimeout(restart, secondsBeforeRestart * 1000);

另外,不确定1 * 60 * 1000是什么意思。 只要有一个存储秒的参数。 这样你总是可以理解代码。 即使在 6 个月后。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM