hallo zusammen,
habe mir einige funktionen gebastelt, die mir verzögert ebenen ein- und ausblenden sollen.
für den aufruf der nächsten funktion benutze ich "window.setTimeout("auf_zu()",500);". einmal nach anzeigen der ebene und einmal nach verstecken der ebene (damit bei einer wiederholung >1 wieder eine kleine pause entsteht).
man kann sich das so vorstellen, dass sich die funktionen ständig wiederholen, aber immer eine ebene mehr anzeigen sollen(zaehler wird erhöht).
nun ist es so, dass in der ersten runde sich die ebene schön ein und ausblendet, aber sobals zwei ebenen hintereinander (mit verzögerung natürlich9 angezeigt werden sollen, diese gleichzeitig aufleuchten. ich verstehe nicht wo der fehler liegen soll!!!
wer kann helfen?
bin über jeden tipp dankbar, da mich das schon eine ganze weile beschaftigt.
greetZ
p@
anbei das script:
script language="JavaScript" type="text/javascript">
var anzahl, zahl, zaehler, auswahl, anfang, ende, befehl ,x , wert;
//1.Array initialisieren, variablen intitialisieren
function start()
{
anzahl = new Array;
zahl = 0;zaehler = 0;
auswahl = new Array;
vorspiel();
}
//2.variablen initialisieren, zahl um 1 erhoehen, zufallszahl zw. 1 und 4 generieren, zufallszahl in array(anzahl) schreiben
function vorspiel()
{ t = 0;wert = 0;
anfang = -1; ende = 0;
zahl++;x= 0;
var neue_anzahl = new Array();
zufallszahl = Math.round(3 * Math.random()) + 1;
anzahl = anzahl.concat(zufallszahl);
ebene();
}
//3.solange ebenen ein und ausblenden wie x kleiner zahl, id der ebene an var wert uebergeben, funktion zum anzeigen der ebene aufrufen
function ebene()
{
while(x < zahl)
{
anfang++;ende++;
wert = anzahl.slice(anfang, ende);
auf();
}
}
//4.ebene anzeigen, timeout setzen fuer funktion zu()
function auf()
{
x++;
showLayers(""+wert+"",'','show');
window.setTimeout("zu()",500);
}
//5.ebene ausblenden, timeout setzen fuer funktion ebene()
function zu()
{
hideLayers('1','','hide','2','','hide','3','','hide','4','','hide');
window.setTimeout("ebene()",500);
//ebene();
}