Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-01-2009, 08:03   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 59
Problem beim Textfeld scollen

Hallo,

bei dem folgenden Script scollt das Textfeld ohne Probleme, aber bei jedem Durchgang wird es immer schnelle. Ich bin wohl zu blind um den Fehler zu sehen. Wäre super, wenn mir da jemand bitte helfen könnte.

PHP-Code:
function geladen(erfolgreich) {
    if(
erfolgreich) {
        
_root.mc_news.news_var=this.meinEintrag;
    
_root.mc_news.news.autoSize true;
        
_root.mc_news.news._y 130;
            
    
scrollen();
             
    }
    else {
        
_root.mc_news.news_var="Fehler beim Laden der News!";
    }
}
lv = new LoadVars();
lv.onLoad geladen;
lv.load("news.txt",lv,"POST");

function 
scrollen()
{
    var 
id setInterval(back_mc50);
    function 
back_mc() {
        
_root.mc_news.news._y _root.mc_news.news._y-1;
    if (
_root.mc_news.news._y < -_root.mc_news.news.height) {
    
_root.mc_news.news._y=130;
         
//clearInterval(id);
        
}
    } 

Luigihausen ist offline   Mit Zitat antworten
Alt 16-01-2009, 08:17   #2 (permalink)
ChronoGuard
 
Benutzerbild von SpecOps-12
 
Registriert seit: Mar 2002
Ort: Saarbrücken
Beiträge: 2.649
Warum hast du clearInterval auskommentiert?
Ich geh mal davon aus, dass du immer neue Intervalle erzeugst, ohne die alten zu löschen.
__________________
we will stop enhancing the truth in 3, 2, ...
SpecOps-12 ist offline   Mit Zitat antworten
Alt 16-01-2009, 08:23   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 59
Ich bin davon ausgegangen, dass der Interval sich nicht beschleunigt, denn den rufe ich ja nicht wieder auf. Ich setzte nur das Textfeld wieder an die ursprüngliche Position.

Aber auch mit dem folgendne Script macht der nicht was ich möchte. Hier wird er beim 2ten Durchlauf schneller und bei 3ten springt er in der Mitte schon wieder an den Anfang, aber wieder langsam.

PHP-Code:
function scrollen()
{
    var 
id setInterval(back_mc50);
    function 
back_mc() {
        
_root.mc_news.news._y _root.mc_news.news._y-1;
        if (
_root.mc_news.news._y < -_root.mc_news.news.height) {
            
clearInterval(id);
            
_root.mc_news.news._y=130;
            
scrollen();
        }
      } 


Geändert von Luigihausen (16-01-2009 um 08:27 Uhr)
Luigihausen ist offline   Mit Zitat antworten
Alt 16-01-2009, 14:57   #4 (permalink)
ChronoGuard
 
Benutzerbild von SpecOps-12
 
Registriert seit: Mar 2002
Ort: Saarbrücken
Beiträge: 2.649
Es liegt sicher an dem Interval. Die "Symptome" sind typisch.
Prüf mal, ob beim löschen (vor dem clear) die Referenz-ID bekannt ist.
Oder ob die Instanz zu der Zeit überhaupt noch existiert.

setInterval ist ne TopLevel-Methode und überlebt das Löschen der Instanzen, von der es aufgerufen wird. Die Instanzen werden dann auch nicht richtig gelöscht, weil der Interval noch auf sie zeigt.
__________________
we will stop enhancing the truth in 3, 2, ...
SpecOps-12 ist offline   Mit Zitat antworten
Alt 16-01-2009, 17:37   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 59
Leider kann ich mit Deiner Antwort nichts anfangen, denn ich bin doch sehr unerfahren mit ActionScripts.
Wie könnte ich das Problem denn ungehen?
Luigihausen ist offline   Mit Zitat antworten
Alt 16-01-2009, 18:06   #6 (permalink)
ChronoGuard
 
Benutzerbild von SpecOps-12
 
Registriert seit: Mar 2002
Ort: Saarbrücken
Beiträge: 2.649
Benutz nen onEnterFrame-Event statt setInterval.

Oder grenz das Problem auf den Kern ein und häng dann die fla-Files an den Beitrag, damit jemand reingucken kann.
__________________
we will stop enhancing the truth in 3, 2, ...
SpecOps-12 ist offline   Mit Zitat antworten
Alt 16-01-2009, 18:49   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 59
Habe mich jetzt für ein JavaScript Scroller entschieden, denn ich habe keine Lust mich mehr Stunden daran aufzuhalten.

http://mediazeal.com/scroll.htm

Aber trotzdem vielen Dank.
Luigihausen 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 04:54 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele