| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > прерывание вызовов по таймауту |
| Автор: Alx 30.9.2007, 17:52 | ||
| опять меня клинит.. целый день сегодня вешаюсь на одной задаче... есть функция, которая вызвывает себя рекурсивно по таймауту.при нажатии кнопки надо остановить вызовы, вызвать её моментально без задержки, а затем продолжить снова, через одну секунду. т.е. вот так: - - - - -- - - - ^ в этом месте была нажата кнопка. нужно использовать именно setTimeout, с setInterval у меня уже получилось, но мне это не подходит.. за целый день уже кучу раз испробывал вариации одного кода:
но в итоге все равно прихожу к тому, что таймаут запущенный до нажатия кнопки останется работать вместе с тем, который регистрируется после нажатия.. |
| Автор: Alx 30.9.2007, 18:07 | ||
о. ура. вроде получилось. как все-таки благоприятно действует форум
теперь правда все равно при многократном нажатии кнопки влезают таки ненужные запросы по таймауту. но зато сами таймауты больше не плодятся. а это главное. всем спасибо) |
| Автор: SelenIT 30.9.2007, 18:07 |
| Сорри если не в тему, но... разве нельзя хранить идентификатор последнего вызванного таймаута в статической/глобальной переменной и по нажатию кнопки просто делать ему clearTimeout? |
| Автор: Alx 30.9.2007, 20:15 |
| что?.. я даже не подразумевал у существовании clearTimeout... |
| Автор: Alx 30.9.2007, 22:24 |
| вот называется - живи и удивляйся (у меня в книжке было только setTimeout, setInterval и clearInterval... |