Javaskript-Funktion per Kopfdruck ausführen / ausblenden
Klaus-OLL
- javascript
0 Klawischnigg0 Klaus
Drückt der Besucher auf einen Knopf [onclick="function.a()"], soll die Funktion "function a()" augeführt werden.
Drückt der Besucher auf einen anderen Knopf [onclick="function.b()"], soll die Funktion "function b()" ausgeführt werden, und die vorherige "function a()" soll wieder rückgängig/gelöscht/ausgeblendet werden.
Sorry mir ist hier echt heiss, darum fasse ich es so mal kurz. :)
Hi there,
Drückt der Besucher auf einen Knopf [onclick="function.a()"], soll die Funktion "function a()" augeführt werden.
Drückt der Besucher auf einen anderen Knopf [onclick="function.b()"], soll die Funktion "function b()" ausgeführt werden, und die vorherige "function a()" soll wieder rückgängig/gelöscht/ausgeblendet werden.
Und Deine Frage ist?
Sorry mir ist hier echt heiss, darum fasse ich es so mal kurz. :)
Hast Du Deine Badewanne mit dem Backrohr verwechselt oder kommt Dein Posting aus der Sahara?
Ja, das ist die Frage. Will wissen, wie man es nun löst.
Hier im Zimmer sind 35°C ... -.-
Hi there,
Ja, das ist die Frage. Will wissen, wie man es nun löst.
Was hast Du bisher versucht? Du hast nur geschrieben, was Du gerne hättest, aber nicht, warum Du es nicht schaffst, es selbst zu lösen...
Naja kurze Antwort: Es geht nicht!
Du musst schon explizit mitschreiben dass oder ggf. sogar was function a gemacht hat, damit du es zurück nehmen kannst. Wenn function a gar DOM-Objekte löscht o.ä. wirst du sie neu erstellen müssen (bzw. in function a eine Sicherheits-Kopie außerhalb des Elementenbaums anlegen).
Du wirst also wahrscheinlich einfach eine function b schreiben müssen, die die Schritte von function a rückwärts und negiert ausführt.
Beispiel:
Macht function a() {
Verdopple Breite von Element mit ID "foo";
}
muss function b() {
Halbiere Breite von Element mit ID "foo";
}
nun angenommen
function a ( foo ) {
Verdopple Breite von Element mit ID $foo;
logge: funktion a auf $foo ausgeführt;
}
function b () {
lese aus log worauf funktion a zuletzt ausgeführt wurde in $bar
Halbiere Breite von Element mit ID $bar;
entferne letzten Eintrag aus log;
}
und das können wir unendlich kompliziert stricken, bis zu dem Punkt wo du dich entscheidest wie oben geschrieben einfach eine Sicherheitskopie der veränderten Dinge anzulegen um dann leicht daraus eine "rückgängig"-Funktion zu entwerfen.
Weil es einfacher wird ein ganzes Element (bzw. Teilbaum) oder Objekt oder was auch immer zu speichern als alle Veränderungen, die man daran durchgeführt hat.