2016-09-08 8 views
1

Ich habe eine Seite in meinem Projekt, die mehrere Kategorien enthält und jede Kategorie hat einen Flexslider mit Bildern. Jede Kategorie wird einmal angezeigt und klickt auf eine andere, die vorherige wird ausgeblendet und geklickt erscheint, ähnliches Schema mit Tabs.Funktion auf AngularJS zerstören

Ich brauche das, wenn ich auf eine andere Kategorie klicke, zerstört es die Funktion von Flexslider initialisiert in der früheren Kategorie und wird in dieser Kategorie ausgeführt.

Hier ist, was ich bisher ohne Erfolg getan haben:

Funktion, die Flexslider beginnt:

vm.sliderCol = function() { 

    setTimeout(function() { 

     $('.sliderCol').flexslider({ 
      animation: "slide", 
      controlNav: false 
     }) 
    }, 1000) 
} 

Funktion, die die Kategorietaste eingeben:

vm.clicou = function(){ 

    $('.sliderCol').flexslider("destroy") 

    setTimeout(function() { 
     vm.sliderCol() 
    }, 1000) 
} 

Bis dahin habe ich versucht, den Flexslider zu zerstören weiß nicht, ob es eine Methode gibt, mit der Ausführung der Funktion aufzuhören und sie zu starten, kann jemand helfen?

+0

Dies könnte Ihre hilft https://docs.angularjs.org/api/ng/service/$ Intervall –

Antwort

1

Mit ng Klick auf jeder Kategorie, die Rolle zu spielen, konnte ich den Schieber zerstören und es wieder mit der folgenden Funktion zu starten:

vm.clicou = function(){ 
    $('.sliderCol').flexslider("destroy"); 
    $('.sliderCol').removeData("flexslider"); 
    setTimeout(function() { 
     vm.sliderCol(); 
    }, 100); 
} 
Verwandte Themen