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!