Je travaille sur un didacticiel de curseur d'image jQuery et je les ai perdus au point où ils ont placé une fonction de rappel sur l'option .animate() - le rappel est la removeClass. Pourquoi en ai-je besoin? Si je retire la fonction de rappel, le curseur cesse de fonctionner.Pourquoi ai-je besoin de cette fonction de rappel pour fonctionner correctement?
function slideSwitch() { var $active = $('#slideshow IMG.active'); var $next = $active.next();
$active.addClass('last-active');
$next.css({opacity: 0.0})
.addClass('active')
.animate({opacity: 1.0}, 1000, function() {
$active.removeClass('active last-active');
});
}
$(function() { setInterval("slideSwitch()", 5000); });
Voici comment le curseur fonctionne:
Fondamentalement, il y a 3 images positionnées (absolument) au-dessus de l'autre. La première image reçoit la classe "active" avec un index z élevé, elle apparaît donc en haut.
Après 5 secondes, le code trouve ensuite l'image suivante et rend la classe "active", et rend l'original ".last-active", qui a un z-index légèrement inférieur. Le nouveau ".active" est donné une opacité de 0.0 mais lentement animée à 1.0 dans une seconde.
C'est en fait un curseur assez simple. Je comprends tout le reste sauf pourquoi j'ai besoin de cette fonction de rappel qui supprime les classes "dernier-actif" et "actif" une fois l'animation terminée. Est-ce que ".active" n'a pas besoin de rester ".active" pour être au top?
Il pourrait vous aider à m'aider si vous avez vu le tutoriel vous-même. Il peut être trouvé à: http://jonraasch.com/blog/a-simple-jquery-slideshow
Merci d'avance!
Ahh, je comprends maintenant. Seul $ active obtient ses classes supprimées, pas $ next. Merci beaucoup pour votre aide, Jeff! – izolate