J'ai fait ce plugin jQuery rapide/facile pour vous de faire exactement ce que vous voulez. :-)
$.fn.extend({
serial_fade: function(o) {
if(!o.speed || o.speed == undefined || o.speed == null) { o.speed = 'slow'; }
if(!o.fade || o.fade == undefined || o.fade == null) { o.fade = 'in'; }
if(!o.index || o.index == undefined || o.index == null) { o.index = 0; }
var s = this.selector;
if(o.fade.toLowerCase() == 'in') {
return this.eq(o.index).fadeIn(o.speed, function() {
o.index++;
if($(s).eq(o.index).length > 0) {
$(s).serial_fade({speed:o.speed,fade:o.fade,index:o.index});
}
});
} else {
return this.eq(o.index).fadeOut(o.speed, function() {
o.index++;
if($(s).eq(o.index).length > 0) {
$(s).serial_fade({speed:o.speed,fade:o.fade,index:o.index});
}
});
}
}
});
// To call it just do this:
$(ele).serial_fade({speed:'slow',fade:'in'});
// Optionally, you can pass which element you want to start with (0-based):
$('a').serial_fade({speed:'slow',fade:'in',index:2});
// If you want to start with element 2 (3, really) and fade all the rest *out*
// sequentially, verrry slowly:
$(ele).serial_fade({speed:5000,fade:'out',index:2});
Il devrait fonctionner avec tout type de sélecteur comme toute autre méthode jQuery fait. J'espère que cela fonctionne pour vous.
Edit: Je l'a étendu de manière à pouvoir faire ins fondu et fondu outs maintenant. Il semble juste plus utile de cette façon ...
brillant! Merci. – Hitz
De rien. J'ai ajouté de nouvelles fonctionnalités ... juste pour que vous sachiez. – KyleFarris
Pourquoi ma réponse est-elle rejetée? C'est une réponse parfaitement légitime, flexible et fonctionnelle à ce problème de personnes. Cela n'a aucun sens. Est-ce que quelqu'un est aigri à ce sujet ou quelque chose? J'aimerais au moins savoir pourquoi cela a été rejeté. :-( – KyleFarris