2013-06-26 11 views
8
  1. próbuję powiązać wydarzenia slider.pause() i slider.play() do moich przycisków (patrz kod poniżej).
  2. Działa , chyba że kliknę przycisk odtwarzania dwa razy lub kliknę przycisk odtwarzania , gdy suwak jest uruchomiony.
  3. Wtedy wydaje się uruchomić inny instancji (lub coś), ponieważ pracuje z podwójną prędkością i przycisk pauzy nie zatrzymuje suwak

pytanie: Czy istnieje sposób, aby sprawdzić, czy na suwaku działa przed wywołaniem slider.play() lub wywołania pause() i/lub play() w niewłaściwym miejscu?Howto: Pause Play flexslider na podstawie zdarzenia click (jQuery)

Prosimy o radę.

$(document).ready(function(){ 
    $('.flexslider').flexslider({ 
     animation: "fade", 
     slideshowSpeed: 2000, 
     pauseOnHover: false, 
     touch: true, 
     controlsContainer: ".fs-container", 
     controlNav: true, 
     manualControls: ".flex-control-nav li", 
     start: function(slider) { 
      $('.icon-pause').click(function(){ 
       slider.pause(); 
      }); 

      $('.icon-play').click(function(){ 
       slider.play();      
      }); 
     } 
    }); 
}); 

Odpowiedz

2

7 miesięcy pytanie, ale tak na własność start pożarów flexslider każdym razem zaczyna animacyjnych.

Tak więc powyższy kod wiąże wiązanie z kliknięciem zdarzenia.

Zamiast chcesz coś takiego:

 $('.icon-pause').click(function(){ 
      $('#your_slider_id').pause(); 
     }); 

I chcesz umieścić to na stronie funkcji startowych - lub w dowolnym miejscu, nie tylko wewnątrz inicjalizacji flexslider.

(Oczywiście .play() jest również metoda).

16

Spróbuj:

$('.flex-slider').flexslider('pause'); i $('.flex-slider').flexslider('play');.

+2

To powinno być akceptowane rozwiązanie. – roNn23

+0

Ten działa dla mnie – exoslav