setTimeout method

Evaluates an expression after a specified number of milliseconds has elapsed.


var retval = window.setTimeout(expression, msec, language);


expression [in]

Type: Variant

Variant that specifies the function pointer or string that indicates the code to be executed when the specified interval has elapsed.

msec [in]

Type: Integer

Integer that specifies the number of milliseconds.

language [in, optional]

Type: Variant

String that specifies one of the following values:


Language is JScript.


Language is VBScript.


Language is JavaScript.

Return value

Type: Integer

Integer. Returns an identifier that cancels the evaluation with the clearTimeout method.

Standards information

There are no standards that apply here.


The specified expression or function is evaluated once. For repeated evaluation, use the setInterval method.

When you use the setTimeout method with Introduction to DHTML Behaviors, the value of expression should be a function pointer to call a function within the HTML Component (HTC) file or a string to call a function in the primary document.

Note  In Windows Internet Explorer, you cannot pass arguments to the callback function directly; however, you can simulate passing arguments by creating an anonymous closure function that references variables within scope of the call to setInterval or setTimeout. For more information, see setInterval.

The first argument of setTimeout can be a string or a function pointer.


The following example uses the setTimeout method to evaluate a simple expression after one second has elapsed.

window.setTimeout("alert('Hello, world')", 1000);

The following example uses the setTimeout method to evaluate a slightly more complex expression after one second has elapsed.

var sMsg = "Hello, world";
window.setTimeout("alert(" + sMsg + ")", 1000);

This example uses the setTimeout method to hide a input type=button object after three seconds. If the user clicks the Count Down button and then counts to three, the Now You See Me button disappears.

<script type="text/javascript">
function fnHide(oToHide){
   window.setTimeout("fnHide2(" + + ")", 3000);
function fnHide2(sID){
   var o = eval(sID);"none";
<input type="button" value="Count Down" 
    id="oHideButton" onclick="fnHide(this)">

This example uses a function pointer to pass the data. In this case, the data is stored in a global variable because it cannot be passed directly. In the preceding example, the id of the button is passed as a parameter to the function invoked by the setTimeout method. This is possible only when a string is passed as the first argument.

Code example:

<script type="text/javascript">
var g_oToHide = null;
function fnHide(oToHide){
    g_oToHide = oToHide;
    window.setTimeout(fnHide2, 3000);
function fnHide2(sID){
    if (g_oToHide) {"none";
<input type="button" value="Now you see me ..." 
    id="oHideButton" onclick="fnHide(this)">

See also