Abfolge von Funktionsaufrufen programmieren
PoWl89
- javascript
0 Jeena Paradies0 PoWl89
0 Struppi
Hi!
Ich bin grade dabei ein Objekt zu schreiben das mir verschiedene Methoden zur verfügung stellt um divs auszufahren, einzufahren, ein- und auszufaden..
function fadeBox()
{
this.fadeIn(id) {
...
}
this.slideOut(id) {
...
}
...usw
}
Nun kann man diese Funktionen ja zu unterschiedlichen zwecken kombinieren, z.B. div A einblenden
slideOut() <-- Platz schaffen für den Inhalt
fadeIn(A) <-- Inhalt einblenden
oder div A zu div B überblenden, wobei der Inhalt von B größer als der von A ist
slideOut() <-- Mehr Platz schaffen damit auch der Inhalt von B hin passt
fadeOut(A) und fadeIn(B) gleichzeitig <-- Inhalte überblenden
Da so Vorgänge wie faden und sliden nicht mit einem einzigen Funktionsaufruf getan sind müssen sich diese mit setTimeout mehrfach selbst aufrufen um sich schrittweise abzuarbeiten.
Ich grübel nur darüber nach, wie ich meinem Script nun am geschicktesten sage in welcher Reihenfolge es diese Funktionen aufrufen soll. Beim genannten Beispiel mit dem Überblenden muss zuerst die funktion slideOut() aufgerufen werden. Wenn diese alles erledigt hat muss diese die beiden funktionen fadeOut(A) und fadeIn(B) aufrufen, aber woher weiß, sie, dass sie es nun tun soll? Beim ersten genannten Beispiel muss sie nur die Funktion fadeIn(A) aufrufen.
Die funktionen einfach untereinander aufrufen geht ja nicht sonst läuft alles gleichzeitig ab.
Klar, viele Wege führen nach Rom und mir fallen schon Wege ein, nur wollte ich mich erstmal informieren wie ihr das am geschicktesten lösen würdet.
lg PoWl
Hallo,
Die funktionen einfach untereinander aufrufen geht ja nicht sonst läuft alles gleichzeitig ab.
Nein, es wird immer eine nach der anderen aufgerufen.
Jeena
Hallo,
Die funktionen einfach untereinander aufrufen geht ja nicht sonst läuft alles gleichzeitig ab.
Nein, es wird immer eine nach der anderen aufgerufen.
Jaaa, also die beiden Funktionen, z.B. fadeIn und fadeOut werden zunächst erstmal nacheinander aufgerufen.
Da aber beide ein Timeout erzeugen und sich nach einer gewissen Zeit selbst beide(!) wieder aufrufen kann man sagen die beiden Arbeitsvorgänge fadeIn und fadeOut laufen nun nachdem man sie angeschubst hat gleichzeitig ab.
Ich grübel nur darüber nach, wie ich meinem Script nun am geschicktesten sage in welcher Reihenfolge es diese Funktionen aufrufen soll.
Du musst dir eigene Events ausdenken und diese für deine Programmierlogik nutzen.
Struppi.
Ich grübel nur darüber nach, wie ich meinem Script nun am geschicktesten sage in welcher Reihenfolge es diese Funktionen aufrufen soll.
Du musst dir eigene Events ausdenken und diese für deine Programmierlogik nutzen.
Und diese Events sollen dann nach am ende einer jeweiligen Funktion aufgerufen werden? Leider weiß ich nicht wie man sowas programmiertechnisch realisiert ;-)
Ich grübel nur darüber nach, wie ich meinem Script nun am geschicktesten sage in welcher Reihenfolge es diese Funktionen aufrufen soll.
Du musst dir eigene Events ausdenken und diese für deine Programmierlogik nutzen.
Und diese Events sollen dann nach am ende einer jeweiligen Funktion aufgerufen werden? Leider weiß ich nicht wie man sowas programmiertechnisch realisiert ;-)
Ich auch nicht, da ich nicht weiß was du programmiert hast.
Aber hier mal ein Beispiel:
function DeinObjekt(){
this.tu_was = function() {
for(var i = 0; i < 100; i++) { var x = Math.sin(i);};
this.onfertig();
}
this.onfertig = function() { /*DUMMY*/};
}
var x = new DeinObjekt();
x.onfertig = function() {
alert('Der Event ist fertig');
};
x.tu_was();
Struppi.