J'essaie de déplacer certains éléments sur la page et, pendant le déroulement de l'animation, je souhaite que "débordement: masqué" soit appliqué à un élément, puis "débordé" sur "auto" une fois l'animation terminée.
Je sais que jQuery a une fonction utilitaire qui détermine si un élément est animé mais je ne le trouve nulle part dans la documentation
if( $(elem).is(':animated') ) {...}
Plus d'infos: http://docs.jquery.com/Selectors/animated
Ou:
$(elem)
.css('overflow' ,'hidden')
.animate({/*options*/}, function(){
// Callback function
$(this).css('overflow', 'auto');
};
Alternativement, pour tester si quelque chose n'est pas animé, vous pouvez simplement ajouter un "!":
if (!$(element).is(':animated')) {...}
$('selector').click(function() {
if ($(':animated').length) {
return false;
}
$("html, body").scrollTop(0);
});
Si vous voulez appliquer css aux éléments animés, vous pouvez utiliser le pseudo-sélecteur :animated
et le faire comme ceci,
$("selector").css('overflow','hidden');
$("selector:animated").css('overflow','auto');
source: https://learn.jquery.com/using-jquery-core/selecting-elements/