Подождите, прежде чем запустить функцию для выполнения в JavaScript - PullRequest
6 голосов
/ 16 апреля 2010

Как я могу установить отложенный триггер в JavaScript для выполнения функции через указанное количество времени?

Моя программа будет ждать 5 секунд, чтобы выполнить demo();, и если она не запустит демонстрацию в течение 5 секунд, мне нужно автоматически выполнить sample().

Возможно ли это сделать в JavaScript?

Ответы [ 4 ]

10 голосов
/ 16 апреля 2010

Вы можете вызывать функции через некоторое время с помощью setTimeout

setTimeout(demo, 5000);

Я не уверен, что получаю ", если не удается запустить демонстрацию с 5 секунд " частью вашего вопроса, потому что код выше будет выполнять демонстрацию ( ) за 5 секунд.

5 голосов
/ 16 апреля 2010

Посмотрите на:

Пример:

setTimeout(function(){your code here}, 3000)
2 голосов
/ 16 апреля 2010
<script language="javascript">
function sample() {
  alert('sample here');
}
function demo() {
  alert('demo here');
}
setTimeout("sample()", 5000);
</script>

<input type=button onclick="demo();">
1 голос
/ 16 апреля 2010

Вы можете использовать setTimeout для паузы в JavaScript.

setTimeout(function(){callSample();}, 5000);

затем установите глобальную переменную внутри demo(), чтобы вы могли определить, был ли вызван demo() или нет, а затем в

function callSample()
{
    if (variable set)
    {
        sample();
    }
}
...