Maison  >  Article  >  interface Web  >  Pourquoi document.body.scrollTop est-il toujours nul dans les anciennes versions d'Internet Explorer ?

Pourquoi document.body.scrollTop est-il toujours nul dans les anciennes versions d'Internet Explorer ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-24 21:03:43394parcourir

Why is document.body.scrollTop Always Zero in Older Versions of Internet Explorer?

Comportement de défilement de document incohérent dans Internet Explorer

En essayant d'afficher dynamiquement la position de défilement via document.body.scrollTop, vous avez rencontré une anomalie : il renvoie systématiquement 0 dans Internet Explorer. Pour comprendre pourquoi cela se produit, examinons le problème et proposons une solution.

Pourquoi document.body.scrollTop est-il toujours nul dans IE ?

Dans les versions antérieures d'Internet Explorer, une interprétation non standard du rendu des documents conduisait à un comportement incohérent avec la propriété scrollTop. Lors de l'utilisation du doctype HTML5 strict, IE10 et les versions ultérieures s'alignent désormais sur les autres navigateurs à cet égard.

Solution alternative pour les anciennes versions d'IE

Pour les anciennes versions d'IE, un une approche alternative est nécessaire pour récupérer avec précision la position de défilement. L'extrait de code suivant fournit une solution de secours :

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

Ce code vérifie si la propriété documentElement existe et renvoie sa valeur scrollTop. Sinon, il revient à document.body.scrollTop.

En utilisant cette solution, vous pouvez garantir une récupération cohérente de la position de défilement dans tous les navigateurs, y compris les anciennes versions d'Internet Explorer.

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