Geschlossene Animation Modular ausführen
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
anfang
aufruf
bewegung
code
ende
liebe leute
methode
millisekunde
obere kante
objekt
opus
paar
position
problemstellung
prototyp
sekunde
trigger
update
url
vorstellen
-
Hallo liebe Leute,
ich habe mittlerweile ein paar recht ansehnliche Bewegungen mit Javascript geschaffen, allerdings wurden sie bis jetzt immer durch setInterval(update, 1000 / 30); permanent ausgeführt. Aufgrund einer Konstruktionsänderung des Seitenaufbaus würde ich gerne einige Menuelemente bei Bildwechsel einschieben lassen. So dass beispielsweise die obere Kante innerhalb von 5 Sekunden langsam herunterfährt bis zu ihrer festgelegten Endposition.
Eine Lösung über die Update Methoden bei der lediglich ein Trigger und ein boolean Wert für aktiv oder nicht gesetzt wird finde ich wenig elegant. Gibt es hierfür eine Möglichkeit eine Methode im Prototypen aufzurufen, der dann Zeit seiner Durchführung immer wieder aufgerufen wird bis die Bewegung abgeschlossen ist? Ein Aufruf wie ich ihn mir vorstellen würde währe dann objekt.animiere(0, 100, 1000) also von Position x Anfang nach y Ende in 1000 Millisekunden.
Ich hoffe die Problemstellung ist soweit klar und ich freu mich auf eine gute Lösung.
Gruß und Dank im Voraus! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo pantherstyle,
pantherstyle schrieb:
Gibt es hierfür eine Möglichkeit eine Methode im Prototypen aufzurufen [...] Ein Aufruf wie ich ihn mir vorstellen würde währe dann objekt.animiere(0, 100, 1000) also von Position x Anfang nach y Ende in 1000 Millisekunden.
Das geht wohl nicht so einfach. Man kann zwar normalerweise Node.prototype erweitern, aber nicht im IE. Folgendes funktioniert z.B. in FireFox, Opera, und vermutlich in allen modernen Browsern außer IE:
Im IE < 9 funktioniert es aber nicht, Fehlermeldung: "Node is undefined."Node.prototype.hallo = function(){ alert('Hallo!'); }; document.body.hallo();
Einen neueren IE habe ich nicht getestet.
Beitrag zuletzt geändert: 20.5.2011 8:53:53 von gluecks-k -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage