Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.07.2008, 18:28
Новичок на форуме
Отправить личное сообщение для desary Посмотреть профиль Найти все сообщения от desary
 
Регистрация: 03.07.2008
Сообщений: 1

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

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

function fade() { .... }


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

Заранее спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 03.07.2008, 22:10
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

desary,

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

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

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

- после выполнения fade(...) (в конце fade(...)) снимайте флаг;
__________________
Тонкости ECMAScript
Ответить с цитированием
  #3 (permalink)  
Старый 03.07.2008, 22:11
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лучшая книга по JavaScript Systemnik Оффтопик 27 26.08.2012 16:54
Современная книга по JavaScript twolf Оффтопик 18 21.02.2009 01:20
Обращение к именам, полученным через Javascript baal1988 Events/DOM/Window 1 31.08.2008 15:08
Нужен Старший разработчик JavaScript Yandex Работа 17 19.08.2008 16:43
Требуется программист на JavaScript Vadym Работа 0 17.07.2008 20:40