2012-03-11 5 views
21

Ecco un violino con un carosello di Bootstrap funzionante. http://jsfiddle.net/jeykeu/5TDff/Come allegare eventi "slide" e "slid" al carosello del toolkit Bootstrap?

Ed ecco la documentazione ufficiale che non dice nulla sull'utilizzo degli eventi. http://twitter.github.com/bootstrap/javascript.html#carousel

Ho pensato che questo avrebbe funzionato, ma no:

 $('#carousel').bind('slide',function(){ 
      alert("Slide Event"); 
    }); 
+0

Si prega di fare +1 su https://github.com/twbs/bootstrap/issues/20792 –

risposta

45

Sulla base vostro violino #carousel è sbagliato. Dovrebbe essere #myCarousel.

aggiornato Esempio:

$('#myCarousel').carousel({ 
    interval: 2000 
}); 

// Could be slid or slide (slide happens before animation, slid happens after) 
$('#myCarousel').on('slid', function() { 
    alert("Slide Event"); 
});​ 

http://jsfiddle.net/infiniteloops/wPF3n/

Con Bootstrap 3

http://jsfiddle.net/infiniteloops/wPF3n/252/

+0

Qualsiasi aiuto perché ottengo un errore 'Uncaught SyntaxError: Unexpected token ILLEGAL' quando aggiungo questo al mio codice? – Snippet

+29

Per chi cerca aiuto con BootStrap 3, prova invece: '$ ('# myCarousel'). On ('slid.bs.carousel', function() { alert (" Evento di diapositiva "); }) ' – c0r3yz

+0

@ c0r3yz L'esistente sembra funzionare bene con il bootstrap 3 per me, c'è qualcosa di specifico che è cambiato? –

5

Per Bootstrap 3 implementazioni:

Prima dell'evento

$('#myCarousel').bind('slide.bs.carousel', function (e) { 
     console.log('before'); 
}); 

After

$('#myCarousel').bind('slid.bs.carousel', function (e) { 
     console.log('after'); 
}); 
+0

Questi due codici sono uguali ... –

+1

@ ManicDepression non sono 'slid' vs' slide' –

+0

Spero solo di ottenere gli indici da e per l'evento ... –

0

Old Post lo so, ma ho voluto mostrare sia scorrevole e scivolai utilizzando la funzione .on.

Quindi, i miei 2 cents ... JSFiddle

$('#myCarousel').on('slide.bs.carousel', function (e) { 
    $('.carousel').removeClass('color-start'); 
    $('.carousel').addClass('color-finish'); 
    $('#bind').html('Sliding!'); 
}); 

$('#myCarousel').on('slid.bs.carousel', function (e) { 
    $('.carousel').removeClass('color-finish'); 
    $('.carousel').addClass('color-start'); 
    $('#bind').html('slid again!'); 
}); 

Il 'addClass & removeClass' sono per il divertimento di mostrare qualcosa che sta accadendo e quando. Inoltre, puoi usare questo insieme a animate.css per aggiungere/rimuovere la classe 'animata' agli elementi .on (diapositiva,).

$('#bind').html('Sliding!') 

Quanto sopra è che non mi piace 'avvisi' e mostrando console.log può essere un dolore su schermi più piccoli.