This JavaScript example demonstrates how to use the SetTimeout() and SetInterval functions to create timed callbacks. Click the buttons to start the timed function call loops.
<!DOCTYPE html>
<html>
<head>
<title>XoaX.net's Javascript</title>
<script type="text/javascript" src="TimedFunctions.js"></script>
<style>
div {
width:200px;
height:100px;
border:1px solid black;
}
</style>
</head>
<body>
<button onclick="StartStopTimeout()">Toggle Timeout</button>
<div id="idTimeout"></div>
<button onclick="StartStopInterval()">Toggle Interval</button>
<div id="idInterval"></div>
</body>
</html>// The timeout function is called once after a set time interval. var giTimeoutID = null; // The interval is called once for every time interval that passes. var giIntervalID = null; // These ids can be used with the clear functions to stop the timeout of interval functions. function StartStopTimeout() { // If the timeout is running stop it if (giTimeoutID != null) { clearTimeout(giTimeoutID); giTimeoutID = null; } else { // Otherwise, start looped calls // Start the loop with a single call after 1 second and set the id. giTimeoutID = setTimeout(TimeoutLoop, 1000, "idTimeout"); } } function TimeoutLoop(sID){ ChangeBackground(sID); // Call the function itself again with the id parameter after 2 seconds and set the id. // Since the timeout only executes once, it must be set repeatedly if it is to loop. giTimeoutID = setTimeout(TimeoutLoop, 2000, sID); } function StartStopInterval() { // If the interval is running stop it if (giIntervalID != null) { clearInterval(giIntervalID); giIntervalID = null; } else { // Otherwise, start looped calls // Call the ChangeBackground() function every 2 seconds with the id of the element. giIntervalID = setInterval(ChangeBackground, 2000, "idInterval"); } } function ChangeBackground(sID) { let qElement = document.getElementById(sID); let iRed = Math.floor(Math.random()*256); let iGreen = Math.floor(Math.random()*256); let iBlue= Math.floor(Math.random()*256); let dAlpha = Math.random(); qElement.style.backgroundColor = "rgba("+iRed+", "+iGreen+", "+iBlue+", "+dAlpha+")"; }
© 20072025 XoaX.net LLC. All rights reserved.