PDA

Просмотр полной версии : Внутри исходник,что делаю не правильно,и как можно сделать (setInterval)


Dr.Sqaer
27.04.2003, 02:45
Это баннер.
Переход от врейма к фрейму реализован с помощю
setInterval(function(){play();},3000)
Но видимо чего то я не понял.

Techmaker
27.04.2003, 13:45
незнаю чо за глюк... я интервалами нечасто пользовался... :rolleyes:

Dr.Sqaer
27.04.2003, 14:10
Techmaker
:О(
Блин,а так надо!

Techmaker
27.04.2003, 14:34
может без интервалов лучше будет...

Dr.Sqaer
27.04.2003, 19:54
Techmaker
Я конечно могу зделать без них.
Но размер увеличится,и хочеться понять почему не работает это дело.

sergwizard
28.04.2003, 05:04
Я бы сделал так....

Dr.Sqaer
28.04.2003, 12:53
sergwizard
Спасибо за помощь!
Если не трудно обьясни как это работает,я имею ввиду
ID=setInterval(goTo ,4000) и в конце clearInterval(ID);
И почему не работает так как у меня? :confused:
Если не очень лень :)
------------
Просто хочется знать что да как!

sergwizard
28.04.2003, 19:39
В принципе, и твой вариант работал бы, если бы ты в последнем фрейме не вызвал еще один setInterval
setInterval(function(){_root.gotoAndPlay("start");},4000);
Этот скрипт вводит еще один интервал на выполнение функции _root.gotoAndPlay("start"). И что? Мувик переходит на фрейм с лейблом "start", встречает команду "stop" и еще setInterval(function(){play();},4000). Стоим, ждем. Через четыре секунды срабатывает play() и gotoAndPlay("start"). И мувик опять должен идти на лейбл "start" (и, по сути, он там и остается). Все, движение застопорилось.
Поэтому я добавил еще один фрейм, в который вписал clearInterval(ID) и переход на лейбл "start". Я отменил интервал для того чтобы он не дублировался, ведь в фрейме "start" уже есть установка интервала. Мувик ее и прочтет. И ему не нужны одни и те же интервалы на выполнение одного и того же действия? Поэтому я убрал их и из всех фреймов тоже. Не нужны они там. Этот интервал и так будет работать, пока его не отменишь.
А функцию goTo я ввел по привычке. Как и "имя" интервала (ID). Когда используешь много функций и интервалов их выполнения, то легче все это хозяйство контролировать и отменять нужные интервалы.
И так, тебе надо только добавить еще один фрейм с отменой интервала и переходом на "start", и почистить все промежуточные фреймы, оставив в них только "stop". Вот и все.

Nox Noctis
28.04.2003, 21:41
а вместо goTo проще было написать:
ID = setInterval (_root, "nextFrame", 4000);
и не объявлять лишних функций...

Dr.Sqaer
29.04.2003, 20:41
Спасибо за помощь всем.
В особенности
sergwizard
:)