PDA

Просмотр полной версии : Функция за функцией


Boris_Klimenko
14.09.2004, 15:51
Ребят помогите плиз... че-то застрял я...
В этом скрипте, не важно что делающем, функция Open(); должна включаться после окончательного исполнения loop-а функции Close(); А у меня она не дожидается этого момента и включается почти паралельно.
-----------------------------------------------------------------------
Close(_root.portfolio.sectionsize);
Open(0);

function Close(i) {
clearInterval(myInterval);
w = _root.portfolio.section+i;
_root.portfolio[w].gotoAndPlay(8);
if (i>=1) {
myInterval = setInterval(Close, 10, --i);
}
}

function Open(i) {
clearInterval(myInterval);
w = "a"+i;
_root.portfolio[w]._visible = true;
_root.portfolio[w].play();
if (i<=30) {
myInterval = setInterval(Open, 50, ++i);
}
}
-----------------------------------------------------------------------
Чего надо добавить?

iNils
14.09.2004, 16:19
вызывай Open из Close.

Boris_Klimenko
14.09.2004, 17:23
Во! Работает! Спасибо :)
Простите за дурной вопрос...

Boris_Klimenko
14.09.2004, 18:14
Нашел другую проблемму :(
Эти функции приходят в действие при нажатии на кнопки, которых несколко штук и стоят они рядом друг с другом (меню). Как сделать 'защиту от дурака'? Если я включаю первую кнопку, поочередно выполняются функции Close(); и Open(); И если в это время я нажимаю на рядом-стоющую кнопку, то она приводит в действие те-же функции толко со своими переменными, все сбивается и начинается такая мототень...
Что нужно вписать в функцию чтобы она дорабатывала до конца не дав запустится никаким внешним элементам???

iNils
14.09.2004, 18:17
В начале выполнения функций блокируй кнопки, а в конце разблокируй.

Boris_Klimenko
14.09.2004, 19:37
Ок.. А какой командой блокируется кнопка?

iNils
14.09.2004, 20:46
Для флеша 6 и выше:
имя_кнопки.enabled=true/false

Boris_Klimenko
14.09.2004, 20:55
ОК... Большое спасибо... тема закрыта :cool: