Maison > Article > interface Web > Pourquoi « document.body.scrollTop » renvoie-t-il 0 dans IE et comment puis-je y remédier ?
Obtenir une position de défilement précise dans IE à l'aide de document.body.scrollTop
Dans IE, accéder de manière cohérente à la position de défilement via document.body.scrollTop renvoie 0, même lors du défilement. Ce comportement peut être déroutant pour les développeurs cherchant à suivre efficacement les événements de défilement.
Pour résoudre ce problème, les navigateurs implémentent deux modes de rendu distincts : le mode Quirks et le mode Standards. Le mode Quirks est conçu pour les sites Web plus anciens créés avant que les normes du Web ne soient largement adoptées. En mode Quirks, IE définit incorrectement document.body.scrollTop sur 0.
Pour résoudre cet écart, une solution consiste à vous assurer que votre site Web utilise le doctype en mode Standards :
<!DOCTYPE html>
Au cas où votre site Web ne peut pas passer en mode Standards, il existe une approche alternative :
var top = (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;
Ce code vérifie à la fois le documentElement et le corps. Si documentElement est défini, il est prioritaire car il fournit une position de défilement plus précise. Sinon, il revient à document.body.scrollTop.
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!