These two JavaScript functions: setTimeout()
and setInterval()
are especially used in scripts with motion effects, and working with time intervals.
They can determine the execution of a function at specified time-intervals.
- 'function_name()' - a string with the function that will be called.
- milliseconds - is a number of milliseconds representing the time-interval that the function will be called.
setTimeout()
- calls a function, once, after waiting a specified number of milliseconds.setInterval()
- calls a function repeatedly, over and over again, at specified time intervals.setTimeout()
; in the seccond example it is used the setInterval()
.<h4>Example setTimeout</h4> <p>Click on <button id='btn1'>Try it</button> and wait 1 second.</p> <div id='id_tag'>Here will be displayed the value added by JavaScript</div> <script> var nr = 0; // variabile to be incremented // function that will be called function funName() { nr++; // increments the value with one unit document.getElementById('id_tag').innerHTML = nr; // adds the value into #id_tag } //when click on #btn1 document.getElementById('btn1').addEventListener('click', (ev)=>{ // Calls the function after 1 second (1000 milliseconds) setTimeout('funName()', 1000); }); </script>
<h4>Example setInterval</h4> <p>Click on <button id='btn1'>Try it</button> and see the result after 1 second.</p> <div id='id_tag'>Here will be displayed the value added by JavaScript</div> <script> var nr = 0; // variabile to be incremented // function that will be called function funName() { nr++; // increments the value with one unit document.getElementById('id_tag').innerHTML = nr; // adds the value into #id_tag } //when click on #btn1 document.getElementById('btn1').addEventListener('click', (ev)=>{ // Calls the function every 1 second (1000 milliseconds) setInterval('funName()', 1000); }); </script>
• If the setTimeout() is included into the same function that is called, it can be created an effect of auto-calling that will execute the function continuously.
To execute a function continuously with setTimeout()
, add it into the body of that function, than calls the function with setTimeout()
.
<h4>Example setTimeout() calls a function various times</h4> <div id='id_tag'>Here will be displayed the value added by JavaScript</div> Button to stop: <button onclick='funName(0)'>Stop</button> <script> var nr = 0; // variabile to be incremented var stp = 1; // to determine when to stop the execution // function that will be called by setTimeout function funName(parm) { // if 'parm' is 0 (when the Stop button is clicked), sets stp = 0 // will determine to not be executed the code of the next 'if()' if(parm==0) { stp = 0; } // this code is executed only if stp is 1 if(stp==1) { nr++; // increments the value with one unit document.getElementById('id_tag').innerHTML = nr; // adds the value into #id_tag // Auto-calls the function after 1 second (value 1 for parameter) setTimeout('funName(1)', 1000); } } // calls funName after 1 second (value 1 for parameter) setTimeout('funName(1)', 1000); </script>
If the function that will be called contains parameters, you must add values for those arguments, in the string added in setTimeout()
or setInterval()
.
Be aware of the value of the argument, if it is string, a number, or a value from a variable.
- If the argument is a value from a variable, the variable must be concatenated (between braces, with '+') to the string with the function that is called.
<h4>Example setTimeout with arguments from variables</h4> <p>To see the result, click: <button id='btn1'>Try it</button> and wait 1 second.</p> <script> // Variables that will be added as arguments to the function var sir = 'JavaScript Course - https://coursesweb.net/'; var nr2 = 10; function set_alert(parm1, parm2) { // displays an alert window, with values from parameters alert(parm1+' - '+parm2); } //when click on #btn1 document.getElementById('btn1').addEventListener('click', (ev)=>{ //calls the function after 1.5 seconds, passing the values from variables setTimeout('set_alert("'+sir+'", '+nr2+')', 1500); }); </script>
<ul> <li>http://coursesweb.net/html/</li> <li>http://coursesweb.net/css/</li> </ul>
.some_class { display: list-item; }
var obj = { "courses": ["php", "javascript", "ajax"] }; var jsonstr = JSON.stringify(obj); alert(jsonstr); // {"courses":["php","javascript","ajax"]}
$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>'; $dochtml = new DOMDocument(); $dochtml->loadHTML($strhtml); $elm = $dochtml->getElementById("dv1"); echo $elm->nodeValue; // CoursesWeb.net