Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-12-2006, 16:20   #1 (permalink)
Ühnen
 
Benutzerbild von Barabas1977
 
Registriert seit: Aug 2003
Ort: Bad Nauheim
Beiträge: 52
Gültigkeitsbereich bei setInterval

Hallo zusammen,

ich habe ein Problem mit setInterval. Ich vermute, es gibt ein Problem mit dem Gültigkeitsbereich, ich komme aber nicht dahinter, was es genau ist.

Ich habe ein LoadVars-Objekt mit einer Callback-Funktion, die ausgeführt wird, sobald alle Daten geladen sind. Innerhalb dieser Funtion rufe ich setInterval auf. So sieht mein Code aus:

Code:
// Slideshow-Funktion
function slideshow() {
	trace("Funktion aufgerufen");
	var actSlide:MovieClip = this["slide_"+slideNr];
	var nxtSlide:MovieClip = this["slide_"+slideNr+1];
	var animation:Object = new Tween(actSlide, "_alpha", Strong.easeOut, actSlide._alpha, 0, 30, false);
	var animation:Object = new Tween(nxtSlide, "_alpha", Strong.easeOut, nxtSlide._alpha, 100, 30, false);
	if(slideNr<image_data.length) {
		slideNr++;
	}
	else {
		slideNr = 0;
	}
}

// Initialisieren des Moduls
function build_module(loaded) {
	if (loaded) {
.
.
.
		slideNr = new Number(0);
		intervalId = setInterval(this, "slideshow", 15000);
	} else {
		trace("Fehler beim Laden");
	}
}

// Laden der Variablen
load_module = new LoadVars();
load_module.onLoad = build_module;
load_module.sendAndLoad(_root.navigation["navi_"+_root.navi_active].article_url, load_module, "POST");
Ich muss dazu sagen, dass dieser Code in einer SWF steht, die in den Hauptfilm nachgeladen wird.

Woher kann es kommen, dass setInterval die Funktion nicht aufruft? Hat es damit zu tun, dass this auf das LoadVars-Object zeigt?
__________________
Gruß
Florian
Barabas1977 ist offline   Mit Zitat antworten
Alt 11-12-2006, 16:32   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Zitat:
Zitat von Barabas1977 Beitrag anzeigen
Hat es damit zu tun, dass this auf das LoadVars-Object zeigt?
Ja. Also entweder so z.B.:
PHP-Code:
var tl this
function build_module(loaded) {
    if (
loaded) {
.
.
.
        
slideNr = new Number(0);
        
intervalId setInterval(tl"slideshow"15000);
    } else {
        
trace("Fehler beim Laden");
    }

oder ohne this (sollte zumindest auch gehen):
PHP-Code:
intervalId setInterval(slideshow15000); 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 11-12-2006, 21:53   #3 (permalink)
Ühnen
 
Benutzerbild von Barabas1977
 
Registriert seit: Aug 2003
Ort: Bad Nauheim
Beiträge: 52
Jau, das wars. Vielen Dank!

PS. Warum schreibt man eigentlich den Funktionsnamen manchmal in Anführungszeichen und manchmal nicht?
__________________
Gruß
Florian
Barabas1977 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:51 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele