Bastian T.: Funktionsaufrufe werden ignoriert

Beitrag lesen

Hi. ich und mein Menü schon wieder.

Die Patzer von letztens sind ausgemerzt. Jetzt habe ich das Problem, dass in meinem Hauptscript bei den Fallunterscheidungen die ersten zwein Aufrufe der Funktion ignoriert werden.

Hier die gesamte Skriptdatei:

var timer=4;
var jump=5;
var ams="leer";
var layer_bak = "leer";
var apos_bak = 0;
var epos_bak =0;

function hide(layer){
document.getElementById(layer).style.visibility = "hidden";
}

function show(layer){
document.getElementById(layer).style.visibility = "visible";
}

function move (layer,apos,epos) { /*Bewegung der Ebene*/
document.getElementById(layer).style.top=apos;
apos+=jump;
 layer_bak=layer;
 apos_bak=apos;
 epos_bak=epos;
if(apos<=epos) setTimeout("move(layer_bak,apos_bak,epos_bak)",timer);
}

function init_move(wlayer){
if (ams==wlayer){
 switch (wlayer){
 case "top1":
  move ('bottom1',125,25);
  move ('top2',225,125);
  move ('top3',250,150);
  ams="leer";
 break;
 case "top2":
  move ('bottom2',150,50);
  move ('top3',250,150);
  ams="leer";
 break;
 case "top3":
  move ('bottom3',175,75);
  ams="leer";
 break;
}}
else {
 switch (wlayer){
 case "top1":
  document.all.bottom1.style.zIndex = "3";
  document.all.bottom2.style.zIndex = "2";
  document.all.bottom3.style.zIndex = "1";
  hide('bottom2');
  hide('bottom3');
  show('bottom1');
-->  move ('top3',150,250);
-->  move('top2',125,225);
  move ('bottom1',25,125);
  ams="top1";
 break;
 case "top2":
  document.all.bottom1.style.zIndex = "2";
  document.all.bottom2.style.zIndex = "3";
  document.all.bottom3.style.zIndex = "1";
  hide('bottom3');
  hide('bottom1');
  show('bottom2');
  move('top3',150,250);
  move('bottom2',50,150);
  ams="top2";
 break;
 case "top3":
  document.all.bottom1.style.zIndex = "1";
  document.all.bottom2.style.zIndex = "2";
  document.all.bottom3.style.zIndex = "3";
  hide('bottom2');
  hide('bottom1');
  show('bottom3');
  move ('bottom3',75,175);
  ams="top3";
 break;
}}}

Zum besseren Verständnis:
Wird ein Hauptmenü angeklickt hat, sollen die anderen Menüpunkte nach unten rutschen und von oben ein Untermenü eingeblendet werden. Ist das entsprechende Untermenü bereits ausgefahren, soll es wieder zurückgefahren und die anderen Hauptmenüs nachrutschen.

Aber irgendwie werden die ersten beiden Aufrufe von move ignoriert (siehe Pfeil)

Kann mir wer erklären, warum und wie ich das Problem behebe?
Danke!

bdt
Bastian