Maison > interface Web > tutoriel CSS > Pourquoi ma fonction JavaScript « animer » fonctionne-t-elle dans IE mais échoue-t-elle dans Chrome ?

Pourquoi ma fonction JavaScript « animer » fonctionne-t-elle dans IE mais échoue-t-elle dans Chrome ?

Barbara Streisand
Libérer: 2024-12-06 07:04:11
original
607 Les gens l'ont consulté

Why Does My JavaScript `animate` Function Work in IE but Fail in Chrome?

La fonction JavaScript « animer » échoue dans Chrome malgré le fonctionnement dans IE

Problème :

Une fonction d'animation, invoquée via un attribut de contenu du gestionnaire d'événements ne parvient pas à s'exécuter dans Chrome, alors qu'il fonctionne normalement sur Internet Explorer.

Explication :

Dans Chrome, la fonction d'animation globale est masquée par Element.prototype.animate récemment introduit dans les animations Web. Cette observation est due à la portée de l'environnement lexical des gestionnaires d'événements, qui donne la priorité à la portée de l'élément cible par rapport à la portée globale.

Solution :

Pour résoudre le problème , vous pouvez soit :

  • Renommer la fonction d'animation : Utiliser un nom différent, tel que comme animate__, pour éviter toute confusion avec la fonction Element.prototype.animate.
function animate__() {
  var div = document.getElementById('demo');
  div.style.left = "200px";
  div.style.color = "red";
}
Copier après la connexion
  • Utilisez la méthode bind() : Liez la fonction animate au global objet pour garantir qu'il s'exécute toujours dans la portée globale.
document.getElementById('demo').addEventListener('click', function() {
  animate().bind(window);
});
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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal