PDA

Просмотр полной версии : Массив в функции не работает


Rewers
18.11.2007, 22:34
Не могу веделить массив для переменой в функции так чтобы чтобы одна и таже функция выполнялась в выделеном для ней массивом вот или тут прикол не в массиве
function vl(name) {
var mos = new Array(_root.mc1, _root.mc2, _root.mc3, _root.mc4, _root.mc5);
for (i=1; i<6; i++) {
mos[i] = eval("mc"+i);
if (_root["mc"+i] != name) {

_root["mc"+i].onEnterFrame = function() {

if (this._alpha>0) {
this._alpha -= 20;
} else if (this._alpha<=0) {
this._visible = false;
}
};
}
name.onEnterFrame = function() {

name._xscale = 300;
name._yscale = 300;
};
}
}

function vli(name) {
var mos = new Array(_root.mc1, _root.mc2, _root.mc3, _root.mc4, _root.mc5);
for (i=1; i<6; i++) {
mos[i] = eval("mc"+i);
if (_root["mc"+i] != name) {

_root["mc"+i].onEnterFrame = function() {

this._visible = true;

if (this._alpha<100) {
this._alpha += 10;
}
};
}
name.onEnterFrame = function() {
name._xscale = 100;
name._yscale = 100;
};
}
}
function btn() {
for (i=1; i<6; i++) {
_root["mc"+i].onRollOver = function() {
vl(this);
};
_root["mc"+i].onRollOut = function() {
vli(this);
};
}
}
btn();
вот примерчик

GFreemen
18.11.2007, 23:23
я так понимаю хотелось чегото подобного этому?

function vl(name) {
name.onEnterFrame = function() {
if (this._alpha>0) {
this._alpha -= 20;
} else if (this._alpha<=0) {
delete name.onEnterFrame;
}
};
name._xscale = 300;
name._yscale = 300;
}
function vli(name) {
name.onEnterFrame = function() {
if (this._alpha<100) {
this._alpha += 10;
}else{
delete name.onEnterFrame;
}
};
name._xscale = 100;
name._yscale = 100;
}



function btn(){
for(i=1;i<6;i++){
_root["mc"+i].onRollOver=function(){vl(this);}
_root["mc"+i].onRollOut=function(){vli(this);}
}
}


btn();

Rewers
18.11.2007, 23:30
Не просто при наведении увеличение мувика с плавным исчезанием остальных а опри убирании возрат к мувика 100% и плавное появление остальных и все через функцию так чтобы выполнялась при наведени на другой мувик а не останавливалась
если наводить по очереди все работает.

silin
18.11.2007, 23:49
var mos = new Array(_root.mc1, _root.mc2, _root.mc3, _root.mc4, _root.mc5);
for (i in mos) {
mos[i].onRollOver = vl;
mos[i].onRollOut = vli;
}

function fadeOut() {
if (this._alpha>0) {
this._alpha -= 20;
} else {
this._visible = false;
}
}

function fadeIn() {
if (this._alpha<100) {
this._alpha += 10;
}
}

function vl() {
this._xscale = 300;
this._yscale = 300;
for (i in mos) {
if (mos[i] != this) {
mos[i].onEnterFrame = fadeOut;
}
}
}

function vli() {
this._xscale = 100;
this._yscale = 100;
for (var i in mos) {
if (mos[i] != this) {
mos[i]._visible = true;
mos[i].onEnterFrame = fadeIn;
}
}
}

Rewers
19.11.2007, 00:03
Вау круто :victory: то что надо спасибо silin буду разбираться