PDA

Volledige versie bekijken : For loops combineren


alexa
%Europe/Berlin %902 %2009, 22:40
Mensen, zit nog een keer te hannesen met For Loops.

Ik heb 15 popknoppen (bij RollOver en Rollout verplaatsen ze zichzelf iets) en 15 popspots (bij RollOver en Rollout groeien en krimpen ze). Zowel de 15 knoppen als de 15 spots laten elk eveneens bij een RollOver en RollOut de teksten 1 tm 15 infaden en uitfaden.

Ik heb voor elk van deze omschrijvingen een aparte For Loop geschreven:


// allereerst de verplaatsing van de knoppen:
for(var i:Number=1; i<16; i++)
{
this["popknop"+i].target = this["popknop"+i];
this["popknop"+i].onRollOver=function()
{
verplaats(this.target);
}
this["popknop"+i].onRollOut=function()
{
verplaats2(this.target);
}
}
// dan het groeien en krimpen van de spots:
for(var i:Number=1; i<16; i++)
{
this["popspot"+i].target2 = this["popspot"+i];
this["popspot"+i].onRollOver=function()
{
groei(this.target2);
}
this["popspot"+i].onRollOut=function()
{
krimp(this.target2);
}
}

// dan het in-uitfaden van de tekst door de spot:
for(var i:Number=1; i<16; i++)
{
this["popspot"+i].target3 = this["tekst"+i];
this["popspot"+i].onRollOver=function()
{
fadeIn(this.target3);
}
this["popspot"+i].onRollOut=function()
{
fadeOut(this.target3);
}
}

// en het in-uitfaden van de teksten door de knoppen:
for(var i:Number=1; i<16; i++)
{
this["popknop"+i].target4 = this["tekst"+i];
this["popknop"+i].onRollOver=function()
{
fadeIn(this.target4);
}
this["popknop"+i].onRollOut=function()
{
fadeOut(this.target4);
}
}


Elk van deze For loops apart werken prima, maar bij alle 4 werken alleen de laatste twee.

Twee vragen:
1. Zijn de methods die de popknoppen moeten uitvoeren (zichzelf iets verplaatsen en de teksten laten faden) en die, welke de spots moeten uitvoeren (groeien en teksten faden) in een for loop script te combineren?
2. Of anderszins iets, zodat alles gebeurt zoals ik het met dit script graag wil?

Groet,
Alex

Jan
%Europe/Berlin %916 %2009, 22:59
for(var i:Number=1; i<16; i++)
{
this["popknop"+i].target = this["tekst"+i];
this["popknop"+i].onRollOver=function()
{
fadeIn(this.target);
verplaats(this);
}
this["popknop"+i].onRollOut=function()
{
fadeOut(this.target);
verplaats2(this);
}
//-------------------------------------------------------------------------------------------
this["popspot"+i].target = this["tekst"+i];
this["popspot"+i].onRollOver=function()
{
fadeIn(this.target);
groei(this);
}
this["popspot"+i].onRollOut=function()
{
fadeOut(this.target);
krimp(this);
}
}

Groeten,
Jan

alexa
%Europe/Berlin %921 %2009, 23:06
Dank je Jan,

ik was zelf inmiddels ook al een beetje in die richting gekomen:

for(var i:Number=1; i<16; i++)
{
this["popknop"+i].target = this["popknop"+i];
this["popknop"+i].target4 = this["tekst"+i];
this["popknop"+i].target5 = this["popspot"+i];
this["popknop"+i].onRollOver=function()
{
verplaats(this.target);
fadeIn(this.target4);
groei(this.target5);
}
this["popknop"+i].onRollOut=function()
{
verplaats2(this.target);
fadeOut(this.target4);
krimp(this.target5);
}
}
for(var i:Number=1; i<16; i++)
{
this["popspot"+i].target2 = this["popspot"+i];
this["popspot"+i].target3 = this["tekst"+i];
this["popspot"+i].onRollOver=function()
{
groei(this.target2);
fadeIn(this.target3);
}
this["popspot"+i].onRollOut=function()
{
krimp(this.target2);
fadeOut(this.target3);
}
}


maar die target1/2/3 etc is dus niet echt nodig, begrijp ik.
Opnieuw helder. Dank, nogmaals.
Groet,

Alex