Вопрос по setTimeout

syrpo
На сайте с 20.03.2009
Offline
104
678

Здравствуйте,

Разъясните, пожалуйста, ситуацию. Почему при таком вызове функции, она срабатывает сразу (без задержки)

setTimeout(dialog_show('dialog_name'),5000);

т.е. когда используется 'dialog_name', то таймаут не срабатывает.

А если так, то все нормально

setTimeout(dialog_show(),5000);

Может, дело в синтаксисе?

дани мапов
На сайте с 06.09.2012
Offline
204
#1

setTimeout(dialog_show, 5000, "dialog_name");

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
Topcrust
На сайте с 23.06.2006
Offline
67
#2
syrpo:
Здравствуйте,
Разъясните, пожалуйста, ситуацию. Почему при таком вызове функции, она срабатывает сразу (без задержки)

setTimeout(dialog_show('dialog_name'),5000);

т.е. когда используется 'dialog_name', то таймаут не срабатывает.

А если так, то все нормально
setTimeout(dialog_show(),5000);

Может, дело в синтаксисе?

А если так:

setTimeout(function() { dialog_show('dialog_name') }, 5000);

Курить тут (заголовок "Параметры для функции и контекст"):

http://learn.javascript.ru/settimeout-setinterval

siv1987
На сайте с 02.04.2009
Offline
427
#3

http://www.w3schools.com/jsref/met_win_settimeout.asp

w3schools:
param1,param2,... Optional. Additional parameters to pass to the function (Not supported in IE9 and earlier)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий