How can I set a delayed trigger in JavaScript to execute a function after a specified amount of time?
My program will wait for 5 seconds to execute demo();
and if it 开发者_运维问答fails to start demo within 5 seconds I need to execute sample()
automatically.
Is this possible to do in JavaScript?
You can invoke functions after a period of time with setTimeout
setTimeout(demo, 5000);
I'm not sure that I get the "if it is fail to start demo with in 5 seconds" part of your question, because the above code will execute demo() in 5 seconds.
Have a look at:
- setInterval
- setTimeout
- clearInterval
Example:
setTimeout(function(){your code here}, 3000)
<script language="javascript">
function sample() {
alert('sample here');
}
function demo() {
alert('demo here');
}
setTimeout("sample()", 5000);
</script>
<input type=button onclick="demo();">
You can use setTimeout for a pause in javascript.
setTimeout(function(){callSample();}, 5000);
then set a global variable inside demo()
so that you can identify whether demo()
has been called or not and then in
function callSample()
{
if (variable set)
{
sample();
}
}
精彩评论