Maison > interface Web > tutoriel CSS > Pourquoi ma fonction JavaScript `animate()` s'interrompt-elle dans les animations Web de Chrome ?

Pourquoi ma fonction JavaScript `animate()` s'interrompt-elle dans les animations Web de Chrome ?

DDD
Libérer: 2024-12-08 09:45:14
original
266 Les gens l'ont consulté

Why Does My JavaScript `animate()` Function Break in Chrome's Web Animations?

La fonction JS animée peut être interrompue dans Chrome en raison d'animations Web

Ce code JavaScript tente d'animer un élément HTML nommé « démo » en modifiant sa position et sa couleur. Cependant, cela ne fonctionne pas dans Chrome.

function animate() {
  var div = document.getElementById('demo');
  div.style.left = "200px";
  div.style.color = "red";
}
Copier après la connexion

Le problème

Dans Chrome, le problème réside dans le fait que la fonction globale animate() est remplacée par un nouveau méthode introduite sur le prototype Element dans les animations Web. Cela signifie que la fonction globale n'est plus accessible dans la portée du gestionnaire d'événements.

La solution

Pour résoudre ce problème, envisagez les options suivantes :

  • Renommer la fonction : Renommer animer pour éviter les conflits avec la méthode prototype, comme animate__.
function animate__() {
  // ... same code as above ...
}
Copier après la connexion
  • Utilisez la méthode bind de JavaScript : Liez la fonction d'animation globale à la portée du gestionnaire d'événements.
document.getElementById('demo').onclick = animate.bind(this);
Copier après la connexion
  • Utilisez la méthode Native animate() d'Element : Tirez parti de la méthode native animate() méthode animate() sur l'élément cible directement.
document.getElementById('demo').animate([
  { left: "200px" },
  { color: "red" }
], 2000);
Copier après la connexion

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