Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Задержка в javascript (https://javascript.ru/forum/misc/1374-zaderzhka-v-javascript.html)

desary 03.07.2008 17:28

Задержка в javascript
 
есть функция

function ssnction() {
var t=1000;
setTimeout(fade, t); }

function fade() { .... }


Мне нужно:
в случае если во время задержки (выполнения функции ssnction())
была повторно вызвана ssnction() то
1.задержку прерываем
2.fade() не вызываем
3.Вызываем ssnction()

Заранее спасибо

Dmitry A. Soshnikov 03.07.2008 21:10

desary,

- при запуске ssnction(...) проверяйте флаг запуска;

- если флаг установлен - return;

- если флаг не установлен - установите (глобальная переменная, свойство ssnction, др. - выбирайте на любой вкус); и вызывайте fade(...) по таймауту;

- после выполнения fade(...) (в конце fade(...)) снимайте флаг;

Kolyaj 03.07.2008 21:11

Функция setTimeout возвращает идентификатор, который можно использовать для его отмены функцией clearTimeout
var t = setTimeout(function() {}, 10000);
...
clearTimeout(t);


Часовой пояс GMT +3, время: 08:32.