Je veux savoir comment animer les fonctions JQuery addClass/removeClass?
pour la fonction animate, il me semble que je dois mettre quelques propriétés CSS, mais qu’en est-il si j’ai une classe qui rend l’élément affiché comme un bloc à chaque fois que je déclenche une fonction de clic, alors que tous les éléments sont affichés comme masqués en CSS. Comment puis-je animer ce processus?
Voici mon code:
<script src="js/jquery-1.9.1.min.js"></script>
<script>
var allSlides = $('li');
$('#nextSlide').click(function(){
var nextSlide = $('.active').next();
if (nextSlide.length == 0)
{
var nextSlide = allSlides.first();
}
$('.active').removeClass('active');
nextSlide.addClass('active');
return false;
});
$('#prevSlide').click(function(){
var prevSlide = $('.active').prev();
if (prevSlide.length == 0)
{
var prevSlide = allSlides.last();
}
$('.active').removeClass('active');
prevSlide.addClass('active');
return false;
});
</script>
Vous pouvez appliquer la propriété de transition CSS3 à l'élément manipulé avec jQuery. Voici un exemple avec les préfixes de fournisseur:
element {
-webkit-transition: all 2s; // Chrome
-moz-transition: all 2s; // Mozilla
-o-transition: all 2s; // Opera
transition: all 2s;
}
Si vous utilisez jQueryUI, vous pouvez utiliser le $ .toggleClass (); une fonction.
Vous pouvez utiliser jQuery .fadeIn () ou vous pouvez utiliser des transitions CSS3:
#nextSlide, #prevSlide {
display: none;
-webkit-transition: display .5s ease;
-moz-transition: display .5s ease;
-o-transition: display .5s ease;
}
.active {
transition: display .5s ease;
-webkit-transition: display .5s ease;
-moz-transition: display .5s ease;
-o-transition: display .5s ease;
}
Cela devrait fonctionner pour vous. Vous pouvez ajouter d'autres transitions à en remplaçant display
dans le style de transition.
Vous pouvez certainement animer pour ajouter/supprimer une classe avec jquery.Veuillez vérifier le format ci-dessous
.removeClass( className [, duration ] [, easing ] [, complete ] )
Exemple de code ci-dessous
$( "div" ).click(function() {
$( this ).removeClass( "big-blue", 1000, "easeInBack" );
});
NOTE: _ Mais vous devez ajouter jquery-ui.js fichier pour le faire fonctionner.
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
J'espère que cela vous sera utile. Merci