Homepapa-Logo

Inhalt

Einleitung Voraussetzungen Pop Up, Pop down Flatter, flatter Übersicht Start bei Null schreiben schreiben lassen bewegen wie? wo? wann? im Fluss Kosmetik Vorhang auf! Klappe zu!

Service

Kontakt & Feedback

CSS Anwendung

wie?

Grundsätzlich muss unser neues Skript viel ähnliches machen, wie das, das wir schon kennen: Es muss für jede div die Position neu ausrechnen.

Dann aber muss es nicht neue divs erstellen, sondern die bestehenden verschieben.

Nehmen wir nun einmal an, dass die neue Position statt unserer bisherigen willkürlich angenommenen auf den Koordinaten 250/250 liege, und dass wir diese in den Variablen neux und neuy zur Verfügung haben. Dann können wir etwa folgendes entwerfen:

for(i=0 ; i<text.length ; i++) {
  meinx = neux + i*abstand ;
  meiny = neuy ;
Das ist nicht neu. Wir rechnen damit die Positionierung aus.
  meini = "f_" + i ;
Damit konstruieren wir die Id jeder div.
  // x-Koordinate zuweisen
  // y-Koordinate zuweisen
}
Das ist das eigentliche Neuland: Wie weist man einer bestehenden div neue Koordinaten zu?

Die Antwort auf diese letzte offene Frage sieht so aus:

  document.getElementById(meini).style.left = meinx + "px" ;

Lass dich von dieser Schreibweise nicht erschrecken; sie ist in Objekt-orientierten Welten üblich. Nimm's einfach von links nach rechts, dann lautet die Anweisung, die wir da formuliert haben:

Und hier ist unser vollständiges Bewegungs-Skript:

for(i=0 ; i<text.length ; i++) {
  meinx = neux + i*abstand ;
  meiny = neuy ;
  meini = "f_" + i ;
  document.getElementById(meini).style.left = meinx + "px" ;
  document.getElementById(meini).style.top  = meiny + "px" ;
}

Also auf zur nächsten Frage: Wo tun wir das hin?


Homepapa
August 2004
Vorheriger Abschnitt:
bewegen
Nächster Abschnitt:
wo?