| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jan 2005
Beiträge: 27
| während laden eines Bildes globale Variable (setInterval) löschen
Hallo, vielleicht hat jmd sowas schon mal gehabt: Eine Klasse Bilder.as zeigt Bilder hintereinander an. Hier wird setInterval() benutzt und in _global.intervall gespeichert. Drücke ich auf einen Button wird _global.intervall gelöscht (der timer stoppt) und eine andere Instanz der Klasse Bilder.as erstellt, diese zeigt andere Bilder an und der timer beginnt wieder. So weit, so geht´s. Problem: Die Bilder werden mit einem preloader geladen (mit onload). Wird während des ladens eines Bildes ein Button gedrückt, um eine andere Bilderschau zu starten, wird _global.intervall nicht gelöscht??? Danke für alles, Beisser Geändert von Beisser (18-05-2005 um 21:32 Uhr) |
| | |
| | #3 (permalink) |
| flachzange Registriert seit: Jun 2003 Ort: berlin
Beiträge: 3.932
|
Das Problem ist vermutlich das du _global.intervall immer überschreibst. Wenn also ein Intervall läuft und noch einer aktiviert wird, überschreibst du den alten. Diesen kannst du also nicht mehr ansprechen bzw. löschen.
__________________ |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Jan 2005
Beiträge: 27
|
Habe etwas herausgefunden an was es wohl liegt: _global.intervall wird dann nicht gelöscht, wenn ich einen Doppelklick auf den Button mache, der die funktion aufruft in der der timer gelöscht wird. Da es einen Doppelklick in AS nicht gibt sind es ja zwei Klicks schnell hintereinander. Kann es sein, dass der zweite Klick einfach zu früh kommt? Hier ein paar Auszüge aus dem Quältext in main.fla ActionScript:
in Klasse Nav.as ActionScript:
Geändert von Beisser (19-05-2005 um 11:47 Uhr) |
| | |
| | #5 (permalink) |
| voidboy Registriert seit: Sep 2004 Ort: München
Beiträge: 5.588
|
Hab jetzt keine Ahnung, aber ich denke der Fehler liegt hier: PHP-Code: |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Jan 2005
Beiträge: 27
|
@render[i]: ja, da habe ich ziemlichen Müll gemacht, habe es geändert (umgedreht und delete ganz rausgenommern) aber das ist auch nicht das Problem. neue Feststellung: der Fehler tritt immer einen Klick nach dem Doppelklick auf. Vermutung: durch einen Doppelklick werden zwei timer gestartet. Der zweite überschribt den ertsen, der dadruch nicht mehr ansprechbar (löschbar) ist. Beim nächsten Klick wird der zweite gelöscht, der erste läuft aber weiter. Na toll! Kann man setIntervall() in ein Array speichern und dann einfach das ganze Array löschen, um so jeden timer zu erwischen? |
| | |
| | #7 (permalink) |
| voidboy Registriert seit: Sep 2004 Ort: München
Beiträge: 5.588
|
Ja könnte man mit nem Array lösen, aber geht bestimmt noch besser. Haste schon einmal nach ner Methode gesucht mit der man einen Doppelklick richtig erkennen kann und wo wird eigentlich Dein Intervall in der Variable _global.interval gespeichert? |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Jan 2005
Beiträge: 27
|
So, das Problem ist gelöst. Erst mal zu Deiner Frage render[i]: das Intervall wird im Konstruktor der Klasse Bilder.as in der Variable _global.interval gespeichert. Siehe oben in der Klasse Nav.as in der onload function. ActionScript:
Doppelklick abfangen: (Quelle: geiles Forum) ActionScript:
|
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |