KeYara: Slide-Funktion klappt nur 1x - bräuchte ein 2. Paar Augen

Beitrag lesen

hi Felix,

danke ersma für deinen link.

wie wäre es mit Weiterbildung zum Thema Animieren in JavaScript? Kleiner Lehrgang zum vernünftigen Schreiben eines JavaScripts

Ich hab mir den Workshop mal angeschaut und werde ihn in der nächsten Zeit intensiver studieren. Ich denke ich kann einiges
davon recht gut für mein Projekt gebrauchen, allerdings ist es für mein derzeitiges Problem nicht grade hilfreich. Das
Projekt: FaderFramework bezieht sich allerdings aufs Ein-, Aus- und Überblenden von Elementen und nicht auf die
Verschiebung eines Elements von A nach B und wieder zurück.

Was mein Problem angeht bin ich nun schon einen großen Schritt weiter:
Ich habe festgestellt das die Variablen durch die Funktion slideUp() überschrieben werden und das dadurch die Ausgangs-
variablen nicht mehr stimmen um die slideDown()-Funktion erneut auszuführen.

Nach einigem Suchen im WWW, habe ich schließlich auf einer Seite gelesen, dass man das mit einem Array lösen kann. Von
Arrays weiß ich zwar wie Arrays aufgebaut werden, nur finde ich, in Bezug auf mein Problem, keinen brauchbaren Lösungsanfang
wie ich das Array in meinen Funktionen einbauen kann.

Daher meine neue Frage: Wie sollte ich anfangen das Array einzubauen?

Würde mich über einen weiteren Denkanstoß sehr freuen. *liebguck*

Gruß KeYara

hier noch mal das script mit den beiden Kontroll-Alerts:

  
var speed = 5;  
var PosA = 0;  
var PosB = 120;  
  
function slideDown(identifier){  
                 var sliden = document.getElementById(identifier);  
                         var PosB = 120;  
                         PosA += speed;  
                                 if(PosA <= PosB) {  
                                         sliden.style.top = PosA + "px";  
                                 setTimeout("slideDown('"+identifier+"')", 1);  
                                 }  
                                 if(PosA==PosB) {  
                                         alert(sliden.offsetTop);  
                                 }  
                         }  
  
function slideUp(identifier){  
                 var sliden = document.getElementById(identifier);  
                         var PosA = 0;  
                         PosB -= speed;  
                                 if(PosB >= PosA) {  
                                         sliden.style.top = PosB + "px";  
                                 setTimeout ("slideUp('"+identifier+"')", 1);  
                                 }  
                                 if(PosB==PosA) {  
                                         alert(sliden.offsetTop);  
                                 }  
                         }  
  
var abc = 1;  
  function slide(identifier) {  
         if(abc==1) {  
                 slideDown(identifier);  
                 abc = 2;  
         } else {  
                 slideUp(identifier);  
                 abc = 1;  
        // Testwerte um meine Theorie zu überprüfen  
                 PosA = 0;  
                 PosB = 120;  
         }  
}  

P.s.:

Liebe(r) KeYara,

Das "r" büdde mitschreiben. Bin eigl. sehr männlich - Der Nick is ein Name von einem Charakter aus einem Rollenspiel. :-)