我想使用一个像这样工作的函数:
- 执行一次后会停止函数的执行
- 之后停止 10 秒
- 然后再次从该左侧位置开始执行。
你能帮我找到那个问题的解决方案吗?
尝试这个:
setInterval函数用于您并找到示例:
<script type="text/javascript">
function CallTimer() {
alert('test');
}
window.onload = startInterval;
function startInterval() {
CallTimer();
setInterval(CallTimer, 100);
}
</script>
假设您有一个function a()
想要执行某些功能的程序,然后由于某种原因停止,然后继续。
第一个场景:在设定的时间后继续
function a() {
// do stuff
// time to stop executing has come
setTimeout("b()", 10000);
}
function b() {
// this function does what you wanted to continue doing after 10 seconds.
}
第二个场景:用户事件后继续
var hasFiredEvent = false;
function a() {
// do stuff
// time to stop executing, until the user fires an event.
setTimeout("b()", 500);
}
function b() {
if (!hasFiredEvent) {
setTimeout("b()", 500);
}
else {
// do the rest of the code you wanted.
}
}
// some other code is required to set hasFiredEvent = true;
您可以在 javascript 中设置定时事件
在 JavaScript 中对事件进行计时非常容易。使用的两个关键方法是:
setInterval() - 以指定的时间间隔反复执行一个函数 setTimeout() - 在等待指定的毫秒数后执行一次函数
setInterval() 方法语法
window.setInterval("javascript function",milliseconds);
例子
var myVar=setInterval(function(){myTimer()},1000);
function myTimer()
{
var d=new Date();
var t=d.toLocaleTimeString();
document.getElementById("demo").innerHTML=t;
}
您可以使用return
和Window.setTimeout()的组合。
// The code will have to be told to restart, or not
var restart = true;
function exampleFunction()
{
if (restart) {
alert("Restarting function");
// Start function again in 10 000 milliseconds.
setTimeout(exampleFunction, 10000);
// Tell function not to interrupt next time.
restart = false;
// Exit early.
return;
}
alert("Function finished");
}
// Start the function
exampleFunction();