With JavaScript, it is possible to execute some code at specified time-intervals. This is called timing events.
It's very easy to time events in JavaScript. The two key methods that are used are:
- setInterval() - executes a function, over and over again, at specified time intervals
- setTimeout() - executes a function, once, after waiting a specified number of milliseconds
Note: The setInterval() and setTimeout() are both methods of the HTML DOM Window object.
The setInterval() Method
The setInterval() method will wait a specified number of milliseconds, and then execute a specified function, and it will continue to execute the function, once at every given time-interval.
Syntax
setInterval("javascript function",milliseconds);
The first parameter of setInterval() should be a function.
The second parameter indicates the length of the time-intervals between each execution.
Note: There are 1000 milliseconds in one second.
Example
Alert "hello" every 3 seconds:
setInterval(function(){alert("Hello")},3000);
Try it yourself »
The example show you how the setInterval() method works, but it is not very likely that you want to alert a message every 3 seconds.
Below is an example that will display the current time. The setInterval() method is used to execute the function once every 1 second, just like a digital watch.
Example
Display the current time:
function myFunction()
{
setInterval(function(){myTimer()},1000);
}
function myTimer()
{
var d=new Date();
var t=d.toLocaleTimeString();
document.getElementById("demo").innerHTML=t;
}
{
setInterval(function(){myTimer()},1000);
}
function myTimer()
{
var d=new Date();
var t=d.toLocaleTimeString();
document.getElementById("demo").innerHTML=t;
}
Try it yourself »
How to Stop the Execution?
The clearInterval() method is used to stop further executions of the function specified in the setInterval() method.
Syntax
clearInterval(intervalVariable)
To be able to use the clearInterval() method, you must use a global variable when creating the interval method:
myVar=setInterval("javascript function",milliseconds);
Then you will be able to stop the execution by calling the clearInterval() method.
Example
Same example as above, but we have added a "Stop the timer" button:
var myVar;
function myFunction()
{
myVar=setInterval(function(){myTimer()},1000);
}
function myTimer()
{
var d=new Date();
var t=d.toLocaleTimeString();
document.getElementById("demo").innerHTML=t;
}
function myStopFunction()
{
clearInterval(myVar);
}
function myFunction()
{
myVar=setInterval(function(){myTimer()},1000);
}
function myTimer()
{
var d=new Date();
var t=d.toLocaleTimeString();
document.getElementById("demo").innerHTML=t;
}
function myStopFunction()
{
clearInterval(myVar);
}
Try it yourself »
The setTimeout() Method
Syntax
setTimeout("javascript function",milliseconds);
The setTimeout() method will wait the specified number of milliseconds, and then execute the specified function.
The first parameter of setTimeout() should be a function.
The second parameter indicates how many milliseconds, from now, you want to execute the first parameter.
Example
Wait 3 seconds, then alert "Hello":
setTimeout(function(){alert("Hello")},3000);
Try it yourself »
How to Stop the Execution?
The clearTimeout() method is used to stop the execution of the function specified in the setTimeout() method.
Syntax
clearTimeout(timeoutVariable)
To be able to use the clearTimeout() method, you must use a global variable when creating the timeout method:
myVar=setTimeout("javascript function",milliseconds);
Then, if the function has not allready being executed, you will be able to stop the execution by calling the clearTimeout() method.
Example
Same example as above, but we have added a "Stop the alert" button:
var myVar;
function myFunction()
{
myVar=setTimeout(function(){alert("Hello")},3000);
}
function myStopFunction()
{
clearTimeout(myVar);
}
function myFunction()
{
myVar=setTimeout(function(){alert("Hello")},3000);
}
function myStopFunction()
{
clearTimeout(myVar);
}
Try it yourself »
No comments:
Post a Comment