Javascript.RU

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

проблема с облостью видимости
есть такая конструкция:
function parent () {
  var a1, a2

  function child1 () {
    clearTimeout(a2);
    /*код выполнения*/
    a1 = setTimeout(child1 (), 5000);
  }

  function child2 () {
    clearTimeout(a1);
    /*код выполнения*/
    a2 = setTimeout(child2 (), 5000);
  }

}

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

Вы не устанавливаете таймаут, а сразу вызываете child1 и child2.
Ответить с цитированием
  #3 (permalink)  
Старый 10.11.2011, 17:35
czp czp вне форума
Профессор
Отправить личное сообщение для czp Посмотреть профиль Найти все сообщения от czp
 
Регистрация: 15.10.2011
Сообщений: 213

а мне надо с промежутком там анимация
Ответить с цитированием
  #4 (permalink)  
Старый 10.11.2011, 20:02
czp czp вне форума
Профессор
Отправить личное сообщение для czp Посмотреть профиль Найти все сообщения от czp
 
Регистрация: 15.10.2011
Сообщений: 213

Сообщение от nasqad Посмотреть сообщение
setTimeout(child2 (), 5000) == setTimeout('undefined', 5000)
и что это значит? камень в мой огород, что не верно написано?, в коде у меня верно написано, просто выложил так, но сути не меняет, как мне сделать что бы таймер останавливал??
st = setTimeout(function () { smoothshow(); }, speed);
Ответить с цитированием
  #5 (permalink)  
Старый 10.11.2011, 20:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

czp,уберите скобки
Сообщение от czp
a1 = setTimeout(child1 (), 5000);
Ответить с цитированием
  #6 (permalink)  
Старый 10.11.2011, 20:25
czp czp вне форума
Профессор
Отправить личное сообщение для czp Посмотреть профиль Найти все сообщения от czp
 
Регистрация: 15.10.2011
Сообщений: 213

так, а как же мне сделать, что бы одна другую функция останавливала???
Ответить с цитированием
  #7 (permalink)  
Старый 10.11.2011, 20:34
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Тот код, что вы привели - просто объявляет ф-ции. А их ещё нужно запустить... Смекаете? Где-то в ф-ции parent должно быть написано child1(), child2(). Их нужно вызвать.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #8 (permalink)  
Старый 10.11.2011, 20:38
czp czp вне форума
Профессор
Отправить личное сообщение для czp Посмотреть профиль Найти все сообщения от czp
 
Регистрация: 15.10.2011
Сообщений: 213

Сообщение от trikadin Посмотреть сообщение
Тот код, что вы привели - просто объявляет ф-ции. А их ещё нужно запустить... Смекаете? Где-то в ф-ции parent должно быть написано child1(), child2(). Их нужно вызвать.
не не понял, я JS только начал изучать, всмысли их запускать? они и так запускаются у меня, просто когда я запускаю первую анимацию и потом вторую и получается каша
-----
я же весь код не вылаживал, это так что бы понять по быстрому, есле надо могу весь код выложить
Ответить с цитированием
  #9 (permalink)  
Старый 10.11.2011, 20:45
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Честно говоря, не совсем понимаю, что вам нужно. Вам нужно, чтобы сначала целиком выполнилась 1-я анимация, и только потом начала выполняться вторая? Так?
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #10 (permalink)  
Старый 10.11.2011, 20:47
czp czp вне форума
Профессор
Отправить личное сообщение для czp Посмотреть профиль Найти все сообщения от czp
 
Регистрация: 15.10.2011
Сообщений: 213

нет, мне надо:
когда выполняется первая анимация, и есле начнется выполнятся вторая анимация, то первая должна остановиться.
--
и точно так же , есле вторая выполняется, и есле начинается выполнение первой, то вторая должна остановиться
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с областью видимости переменных ArmagedDance Элементы интерфейса 2 07.09.2011 09:34
Проблема с Popup окном vovuslik jQuery 5 12.06.2010 16:12
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 17:12
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47