Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   проблема с облостью видимости (https://javascript.ru/forum/misc/23074-problema-s-oblostyu-vidimosti.html)

czp 10.11.2011 17:15

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

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

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

}

clearTimeout() не может остановить другой, не видет его, как исправить можно?

Kolyaj 10.11.2011 17:16

Вы не устанавливаете таймаут, а сразу вызываете child1 и child2.

czp 10.11.2011 17:35

а мне надо с промежутком там анимация

czp 10.11.2011 20:02

Цитата:

Сообщение от nasqad (Сообщение 135725)
setTimeout(child2 (), 5000) == setTimeout('undefined', 5000)

и что это значит? камень в мой огород, что не верно написано?, в коде у меня верно написано, просто выложил так, но сути не меняет, как мне сделать что бы таймер останавливал??
st = setTimeout(function () { smoothshow(); }, speed);

рони 10.11.2011 20:23

czp,уберите скобки
Цитата:

Сообщение от czp
a1 = setTimeout(child1 (), 5000);


czp 10.11.2011 20:25

так, а как же мне сделать, что бы одна другую функция останавливала???

trikadin 10.11.2011 20:34

Тот код, что вы привели - просто объявляет ф-ции. А их ещё нужно запустить... Смекаете? Где-то в ф-ции parent должно быть написано child1(), child2(). Их нужно вызвать.

czp 10.11.2011 20:38

Цитата:

Сообщение от trikadin (Сообщение 135756)
Тот код, что вы привели - просто объявляет ф-ции. А их ещё нужно запустить... Смекаете? Где-то в ф-ции parent должно быть написано child1(), child2(). Их нужно вызвать.

не не понял, я JS только начал изучать, всмысли их запускать? они и так запускаются у меня, просто когда я запускаю первую анимацию и потом вторую и получается каша
-----
я же весь код не вылаживал, это так что бы понять по быстрому, есле надо могу весь код выложить

trikadin 10.11.2011 20:45

Честно говоря, не совсем понимаю, что вам нужно. Вам нужно, чтобы сначала целиком выполнилась 1-я анимация, и только потом начала выполняться вторая? Так?

czp 10.11.2011 20:47

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


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