Ergebnis 1 bis 5 von 5
  1. #1
    Avatar von Liath
    Liath ist offline Grünschnabel
    registriert
    27-06-2015
    Beiträge
    9

    clearInterval in einer Funktion

    Hallo zusammen,

    ich bin dabei für eins meiner Projekte ein kleines Plugin zu erstellen, welches mir Content vertical Scrollen soll. Für diesen Zweck verwende ich die Funktionen setInterval und clearInterval.

    Es funktioniert eigentlich alles hervorragend, allerdings löscht er mir nach einem AJAX reload den Intervall nicht mittels clearInterval.

    Ich habe das Plugin und etwas Beispielcode hier auf jsFiddle gepostet: https://jsfiddle.net/jwkhqbwd/

    In meinem Beispiel soll nach dem Funktionsaufruf hier:
    Code:
    if (opts.slide.isRunning()) {
        opts.slide.stop();
    }
    geprüft werden, ob der Interval gerade aktiv ist und mittels
    Code:
    opts.slide.start();
    dann gestartet werden, laut Konsole wird der Timer angehalten, läuft aber doppelt, dreifach, vierfach... je nach Anzahl der Seitenaufrufe

    Für die Steuerung des Intervals ist die Funktion:
    Code:
    $.fn.vertSlide.interval()
    etwas weiter unten im Code verantwortlich. Ich hoffe, dass mir jemand von Euch die Augen öffnen kann, warum der Interval nicht gestoppt wird

    mfG
    Geändert von Liath (12-11-2015 um 21:33 Uhr)
    Wo kämen wir hin, wenn jeder sagte wo kämen wir hin.
    Und niemand ginge, um zu sehen, wohin wir kämen, wenn wir gingen...

  2. #2
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.672

    AW: clearInterval in einer Funktion

    Ich weiß nicht genau, an was man im fiddle dein Problem sehen kann. Wie kann man das reproduzieren?

    PS: Du hast da im Code irgendwie seltsame Doppelzuweisungen direkt hintereinander... warum?

  3. #3
    Avatar von Liath
    Liath ist offline Grünschnabel
    registriert
    27-06-2015
    Beiträge
    9

    AW: clearInterval in einer Funktion

    Mein Problem lag wohl daran, dass ich versucht habe die Timer in benannte Variablen zu speichern, da ich davon mehrere dynamisch erzeugte Slider benötige.

    Das habe ich jetzt dadurch gelöst, dass ich die Namen im Timer in ein Array gegeben habe, was jetzt auch wunderbar klappt.

    Bsp.:
    Code:
    timer[name] = setInterval(function () {
        ...do something
    }, 3000);
    
    clearInterval(timer[name]);
    so kann ich jeden dynamisch erzeugten Timer bei Bedarf jederzeit beenden.

    Welche Doppelzuweisungen meinst Du genau? Das Fiddle war auch nur ein Sammelsurium von meinen Versuchen, mittlerweile habe ich es extrem entschlackt und aufgeräumt und bin sogar auf setTimeout statt setInterval umgestiegen xD
    Wo kämen wir hin, wenn jeder sagte wo kämen wir hin.
    Und niemand ginge, um zu sehen, wohin wir kämen, wenn wir gingen...

  4. #4
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.672

    AW: clearInterval in einer Funktion

    Zitat Zitat von Liath Beitrag anzeigen
    Welche Doppelzuweisungen meinst Du genau?
    Z.B.
    Code:
            opts.slide = opts.name;
            opts.slide = new $.fn.vertSlide.interval(opts);

  5. #5
    Avatar von Liath
    Liath ist offline Grünschnabel
    registriert
    27-06-2015
    Beiträge
    9

    AW: clearInterval in einer Funktion

    achso ja....

    das war ein Überbleibsel, da wollte ich mir vorher nur die original Variable nicht überschreiben.
    Wo kämen wir hin, wenn jeder sagte wo kämen wir hin.
    Und niemand ginge, um zu sehen, wohin wir kämen, wenn wir gingen...

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 25-11-2012, 19:07
  2. Antworten: 2
    Letzter Beitrag: 21-07-2012, 20:26
  3. Antworten: 9
    Letzter Beitrag: 16-08-2010, 22:59
  4. Funktion in einer Callback-Funktion aufrufen
    Von ShoAn im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 18-03-2009, 13:19
  5. Problem mit einer Funktion in einer Whileschleife
    Von Davidgc im Forum Serverseitige Programmierung
    Antworten: 3
    Letzter Beitrag: 21-01-2008, 11:33

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •