• XSS.stack #1 – первый литературный журнал от юзеров форума

setInterval() в ActionScript

Ma-stiff

(L1) cache
Пользователь
Регистрация
15.11.2004
Сообщения
976
Реакции
4
Код:
var A = 1;
function Abc(A) {
	if (A<10) {
  trace("10");
  A++;
	} else if (A<20) {
  trace("20");
  A++;
	} else {
  trace("Done");
  clearInterval(IntervalID);
	}
}
IntervalID = setInterval(Abc(A),1000);

По идее процедура должна вызываться каждую секунду пока переменная не превысит указанное значение. На деле вызывается только 1 раз и всё. Код хоть и тестовый, но вроде правильный.
 
В общем, надо было так
var A = 1;
function Abc() {
if (A<10) {
trace("10");
A++;
} else if (A<20) {
trace("20");
A++;
} else {
clearInterval(intervalID);
}
}
intervalID = setInterval(Abc,1000);
Вызывать процедуру без скобок, если нужны параметры то передавать их отдельно после значения паузы. Если вызывать со скобками, то процедура вызывается только 1 раз. При этом при передаче параметра даже в правильной форме
setInterval(Abc,1000,Parameter);
он используется как константа и не меняется.
Всё это по моим наблюдениям и может быть не точно.
Macromedia Flash MX.
Спс Berkut за подсказку.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх