Maison >interface Web >tutoriel CSS >Pourquoi « document.body.scrollTop » renvoie-t-il toujours 0 dans IE ?

Pourquoi « document.body.scrollTop » renvoie-t-il toujours 0 dans IE ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-16 05:47:03531parcourir

Why Does `document.body.scrollTop` Always Return 0 in IE?

Dépannage de Document.body.scrollTop renvoyant toujours 0 dans IE

Problème :
Récupération de la position de défilement l'utilisation de document.body.scrollTop dans Internet Explorer renvoie systématiquement 0, même lorsque la page défile.

Raison :
IE gère le défilement des pages différemment des autres navigateurs. En particulier dans les anciennes versions, document.body.scrollTop peut ne pas suivre de manière fiable les mouvements de défilement.

Solution :

Pour les anciennes versions d'IE, une approche globale est recommandée :

var top = (document.documentElement && document.documentElement.scrollTop) || 
              document.body.scrollTop;

Ce code vérifie à la fois document.documentElement.scrollTop et document.body.scrollTop pour obtenir la position de défilement correcte dans la plupart des versions d'IE.

Si vous utilisez une version plus récente d'IE ou une approche plus raffinée est nécessaire, envisagez plutôt d'utiliser la propriété window.scrollY :

var top = window.scrollY;

window.scrollY fournit une solution multi-navigateurs pour récupérer la position de défilement vertical.

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:
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