Javascript.RU

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

setTimeout()
Собственно:

setTimeout('...', 1000);
wrapper.parentNode.removeChild(wrapper);
eclipse.parentNode.removeChild(eclipse);


Пока работает таймер - функции должны ждать.

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

P.S. Обыскал инет - сказали, что нельзя сделать паузу. Как тогда поступать в таких случаях?

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 03.08.2010, 22:26
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

setTimeout(function() {
    wrapper.parentNode.removeChild(wrapper);
    eclipse.parentNode.removeChild(eclipse);
}, 1000);
Ответить с цитированием
  #3 (permalink)  
Старый 03.08.2010, 23:41
Аватар для DjTarik
Интересующийся
Отправить личное сообщение для DjTarik Посмотреть профиль Найти все сообщения от DjTarik
 
Регистрация: 08.03.2010
Сообщений: 24

Сообщение от Kolyaj Посмотреть сообщение
setTimeout(function() {
    wrapper.parentNode.removeChild(wrapper);
    eclipse.parentNode.removeChild(eclipse);
}, 1000);
Не прокатит.А если предыдущая функция не успеет завершится за 1000 секунд? А если следующих функций будет 20? Всем ставить таймер не хочется. =(
Ответить с цитированием
  #4 (permalink)  
Старый 04.08.2010, 00:00
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,245

setTimeout(function(){
...// то, почле чгео должный выоплнится остальные функции
wrapper.parentNode.removeChild(wrapper); 
eclipse.parentNode.removeChild(eclipse);
}, 1000);
DjTarik,
ты высасываешь проблему из пальца
Ответить с цитированием
  #5 (permalink)  
Старый 04.08.2010, 00:10
Аватар для DjTarik
Интересующийся
Отправить личное сообщение для DjTarik Посмотреть профиль Найти все сообщения от DjTarik
 
Регистрация: 08.03.2010
Сообщений: 24

Сообщение от Gvozd Посмотреть сообщение
setTimeout(function(){
...// то, почле чгео должный выоплнится остальные функции
wrapper.parentNode.removeChild(wrapper); 
eclipse.parentNode.removeChild(eclipse);
}, 1000);
DjTarik,
ты высасываешь проблему из пальца
Возможно вы меня не так поняли:

1. Сначала будет таймер.
2. Потом идут функции.

Было так:
setTimeout('...', 1000);
wrapper.parentNode.removeChild(wrapper);
eclipse.parentNode.removeChild(eclipse);


Пробовал так:

setTimeout('...', 1000);
setTimeout(
function() {
wrapper.parentNode.removeChild(wrapper);
eclipse.parentNode.removeChild(eclipse);
}, 2000);


Но это не вариант, т.к. я не могу точно знать, сколько времени потребуется на первый таймер.

Мне нужно - выполнить функцию после того, как отработал таймер.
В моём случае - изменение прозрачности, потом удаление объекта.
Ответить с цитированием
  #6 (permalink)  
Старый 04.08.2010, 00:46
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,245

Сообщение от DjTarik
Возможно вы меня не так поняли:

1. Сначала будет таймер.
2. Потом идут функции.
и в чем проблема поместить функции по удалению объекта внутрь таймера, следом за функцией изменения прозрачности?
именно так и делают все нормальные люди

ты высасываешь проблему из пальца
Цитата:
Сами себе придумываем трудности, а потом мужественно их преодолеваем
Ответить с цитированием
  #7 (permalink)  
Старый 04.08.2010, 02:16
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от DjTarik Посмотреть сообщение
setTimeout('...', 1000);
wrapper.parentNode.removeChild(wrapper);
eclipse.parentNode.removeChild(eclipse);

Пока работает таймер - функции должны ждать.
Можно ли так сделать?
Как тогда поступать в таких случаях?
Если Ваша ГЛАВНАЯ функция может работать неизвестное количество времени (1-1000 секунд хи-хи), то setTimeout здесь ни причем. После того как пройден оператор setTimeout('...', 1000) - следующая строчка wrapper.parentNode.removeChild(wrapper); выполнится мгновенно!
В Вашем случае надо делать систему семафоров. Есть главная функция Х, которая выполняет некую работу (вроде как изменение прозрачности чего-то). Эта функция должна по факту выполнения взвести флажок "я выполнила свою работу". По ходу Вы запускаете setTimeout('Y()', 1000); эта Y раз в секунду проверяет состояние флажка. И, как только он взведён - начинает выполнять свою работу (удаление объекта). В конце Y сбрасывает флажок.
Ответить с цитированием
  #8 (permalink)  
Старый 04.08.2010, 10:20
Аватар для DjTarik
Интересующийся
Отправить личное сообщение для DjTarik Посмотреть профиль Найти все сообщения от DjTarik
 
Регистрация: 08.03.2010
Сообщений: 24

Сообщение от Маэстро Посмотреть сообщение
Если Ваша ГЛАВНАЯ функция может работать неизвестное количество времени (1-1000 секунд хи-хи), то setTimeout здесь ни причем. После того как пройден оператор setTimeout('...', 1000) - следующая строчка wrapper.parentNode.removeChild(wrapper); выполнится мгновенно!
В Вашем случае надо делать систему семафоров. Есть главная функция Х, которая выполняет некую работу (вроде как изменение прозрачности чего-то). Эта функция должна по факту выполнения взвести флажок "я выполнила свою работу". По ходу Вы запускаете setTimeout('Y()', 1000); эта Y раз в секунду проверяет состояние флажка. И, как только он взведён - начинает выполнять свою работу (удаление объекта). В конце Y сбрасывает флажок.
Вроде как setTimeout('...', 1000); начнет выполнение функции через секунду, а в это время объект уже удалится.

А про флажки - можно пример? А то мне сказали, что нереально сделать что-то типо паузы.
Ответить с цитированием
  #9 (permalink)  
Старый 04.08.2010, 11:11
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

Любую задержку можно реализовать циклами.. конечными или бесконечными. В том числе и ожидание семафора.
Ответить с цитированием
  #10 (permalink)  
Старый 04.08.2010, 11:39
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

inGray,
то, что браузер зависнет, вас не смущает?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
setTimeout setInterval и др. mycoding Общие вопросы Javascript 6 28.10.2010 17:26
Аргументы в setTimeout - проблема в IE 6 micscr Общие вопросы Javascript 8 28.09.2009 13:08
Еще один вопрос по setTimeout setInterval Хранитель Света Общие вопросы Javascript 5 12.03.2009 22:37
setTimeout и др. Destrifer Общие вопросы Javascript 15 10.02.2009 22:09
setTimeout Воитель Общие вопросы Javascript 5 23.01.2009 10:36