Javascript Course


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.

Here is the general syntax of using them:
setTimeout('function_name()', milliseconds)
And:
setInterval('function_name()', milliseconds)
- '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.

Although they may seem similar, the difference between them is quite important.
Here's two examples with the same function. In the first example it is used setTimeout(); in the seccond example it is used the setInterval().
The function 'funName()' increments the value of a variable, then displays it into a HTML element.

Example with setTimeout

<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>

Example with setInterval

<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().


Here's an example.

Using setTimeout() to execute a function various times. And a button to stop the execution

<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>

setTimeout and setInterval - Calling functions with parameters

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.


Some examples:
1. Calling a function with two arguments: a string, and a number.
setTimeout('function_name("a_string", 89)', 2000);
2. Calling a function with two arguments: a string, and a numeric value stored into a variable.
setInterval('function_name("a_string", '+ nr_var +')', 2000);
3. Calling a function with two arguments: a numeric and a string value, both from variables.
setInterval('function_name('+ nr_var +', "'+ string_var +'")', 2000);

Here's an example which will display an Alert window, with a string and a number that are stored in variables.
<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>

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
What attribute makes a radio button or checkbox input selected?
checked="checked" selected="selected" disabled="disabled"
<input type="checkbox" name="a_name" value="value" checked="checked" />
What CSS value scales the background image to the largest size contained within the element?
repeat-x contain linear-gradient
#id {
  background:url("path_to_image.png");
  background-size:contain;
  background-repeat:no-repeat;
}
What operator is used to determine the rest of the division of two numbers?
% * /
var rest8_7 = 8 % 7;
alert(rest8_7);
Indicate the PHP function that rounds a number up to the next highest integer.
floor() ceil() abs()
$nr = ceil(3.5);
echo $nr;        // 4
setTimeout and setInterval in JavaScript

Last accessed pages

  1. Send POST data with file_get_contents (2933)
  2. Interpret / Parse / Replace variable in string with value (845)
  3. Zodiac Signs JavaScript code (11031)
  4. Snap to Objects and Snap Align (2755)
  5. Multiple Select Dropdown List with JavaScript (13472)

Popular pages this month

  1. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (18)
  2. SSEP - Site Search Engine PHP-Ajax (8)
  3. Read Excel file data in PHP - PhpExcelReader (7)
  4. The Mastery of Love (6)
  5. Get Duration of Audio /Video file before Upload (6)