Maison > interface Web > tutoriel CSS > Comment puis-je relancer les animations CSS WebKit avec JavaScript ?

Comment puis-je relancer les animations CSS WebKit avec JavaScript ?

DDD
Libérer: 2024-12-19 17:09:17
original
952 Les gens l'ont consulté

How Can I Re-trigger WebKit CSS Animations with JavaScript?

Redéclencher les animations CSS WebKit avec JavaScript

En CSS, les animations sont des séquences limitées dans le temps qui peuvent être appliquées aux éléments à l'aide du @ -règle webkit-keyframes. Cependant, dans certains cas, il peut être nécessaire de redéclencher une animation sans utiliser de délais d'attente ou plusieurs animations.

Une solution consiste à utiliser l'événement animationEnd, qui est déclenché lorsqu'une animation se termine. Dans les navigateurs WebKit, cet événement est appelé webkitAnimationEnd. En attachant un écouteur d'événement à l'élément, il devient possible de réinitialiser l'animation une fois celle-ci terminée.

Réinitialisation basée sur les événements

En JavaScript Vanilla :

var element = document.getElementById('box');

element.addEventListener('webkitAnimationEnd', function(){
    this.style.webkitAnimationName = '';
}, false);

document.getElementById('button').onclick = function(){
    element.style.webkitAnimationName = 'shake';
};
Copier après la connexion

Dans jQuery :

var $element = $('#box').bind('webkitAnimationEnd', function(){
    this.style.webkitAnimationName = '';
});

$('#button').click(function(){
    $element.css('webkitAnimationName', 'shake');
});
Copier après la connexion

Cross-Browser Compatibilité

Pour la prise en charge de plusieurs navigateurs, une bibliothèque telle que les tests de transition CSS3 peut être utilisée. Il fournit un objet de support qui détecte diverses propriétés et événements CSS, y compris la prise en charge de l'animation :

var css3AnimationSupport = (function(){
    var div = document.createElement('div'),
        divStyle = div.style,
        support = {
            transition: ...
            transform: ...
            animation: ...
        };
}());
Copier après la connexion

En utilisant cet objet de support, il est possible de détecter la propriété et l'événement d'animation pour chaque navigateur, permettant une gestion cohérente d'animations CSS sur plusieurs plateformes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal