0

我想使用一个像这样工作的函数:

  • 执行一次后会停止函数的执行
  • 之后停止 10 秒
  • 然后再次从该左侧位置开始执行。

你能帮我找到那个问题的解决方案吗?

4

4 回答 4

0

尝试这个:

setInterval函数用于您并找到示例:

<script type="text/javascript">
    function CallTimer() {
        alert('test');
    }

    window.onload = startInterval;
    function startInterval() {
        CallTimer();
        setInterval(CallTimer, 100);
    }
</script>
于 2013-10-17T04:47:28.047 回答
0

假设您有一个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;
于 2013-10-17T04:47:01.797 回答
0

您可以在 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;
}
于 2013-10-17T04:42:14.750 回答
0

您可以使用returnWindow.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();
于 2013-10-17T04:46:26.200 回答