Si potrebbe fare qualcosa di simile: http://jsbin.com/uzixi3/5/edit
La parte intervallo è qui:
var int = setInterval($.fn.nextSlide, 3000);
$("#slideNavigation a").click(function() {
clearInterval(int);
setTimeout(function() {
setInterval($.fn.nextSlide, 3000);
}, 10000);
});
ho fatto alcune altre modifiche come bene però, per esempio è possibile utilizzare una dichiarazione switch
per rendere .nextSlide()
molto più leggibile ed economico.
Nel complesso, però, non c'è motivo di fare queste funzioni come metodi di estensione su jjquery sé dal momento che non interagiscono con gli oggetti, possono essere solo metodi scope alla chiusura in questo modo: http://jsbin.com/uzixi3/6/edit
Se i metodi sono stati in realtà in esecuzione su $('#slideContainer')
, ad es $('#slideContainer').nextSlide()
e all'interno dei tuoi metodi hai usato this.animate()
e this.css()
potrebbe essere un po 'più sensato, solo alcuni pensieri che potrebbero aiutarti a diventare più flessibile man mano che vai.
fonte
2010-08-17 11:10:48
Un ultimo, non passa una stringa a 'setInterval()' o 'setTimeout()', passare un riferimento funzione diretta come nel mio revisione, è' Eviterò molti mal di testa in questo modo, in più è più efficiente da avviare :) –