2013-06-26 15 views
8
  1. Sto cercando di legare le slider.pause() e slider.play() eventi ai miei pulsanti (vedi codice qui sotto).
  2. Funziona a meno che non clicchi il pulsante di riproduzione due volte o clicco sul pulsante di riproduzione mentre il dispositivo di scorrimento è in esecuzione.
  3. allora sembra per eseguire un'altra esempio (o qualcosa) come corre al doppio della velocità e il pulsante di pausa non è più ferma cursore

Domanda: C'è un modo per verificare se il dispositivo di scorrimento è in esecuzione prima di chiamare slider.play() o le chiamate pause() e/o play() nel posto sbagliato?Howto: Pause and Play flexslider sulla base di evento click (jQuery)

Si prega di avvisare.

$(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();      
      }); 
     } 
    }); 
}); 

risposta

2

7 mesi di età domanda, ma sì la proprietà start sugli incendi flexslider ogni volta che un animazione inizia.

Quindi il codice che hai sopra è vincolante rebinding dell'evento click.

Invece si vuole qualcosa di simile:

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

e desideri mettere questo nelle funzioni init di pagina - o dovunque, non solo dentro l'inizializzazione flexslider.

(Naturalmente .play() è anche un metodo.)

16

Prova:

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

+2

Questa dovrebbe essere la soluzione accettata. – roNn23

+0

Questo funziona per me – exoslav

Problemi correlati