document.corps.scrollTop est toujours 0 dans IE même lors du défilement

J'affiche la valeur du document.corps.scrollTop dans la barre d'état tout en déplaçant la souris. La valeur est toujours 0 dans IE. Pourquoi est toujours 0? Y a-t-il un autre moyen d'obtenir combien la barre de défilement a bougé?

59
demandé sur Tony_Henrich 2010-04-27 02:04:10

3 réponses

Vous pouvez essayer ceci pour un doctype plus ancien dans IE:

var top = (document.documentElement && document.documentElement.scrollTop) || 
              document.body.scrollTop;
112
répondu Nick Craver 2012-08-16 03:40:36

Cette fonction fournit une implémentation multi-navigateur de la lecture du décalage de défilement:

function posTop() {
            return typeof window.pageYOffset != 'undefined' ? window.pageYOffset: document.documentElement.scrollTop? document.documentElement.scrollTop: document.body.scrollTop? document.body.scrollTop:0;
        }
15
répondu ijavid 2012-06-19 13:57:36

Selon le DOCTYPE, vous devrez utiliser document.body.scrollTop ou document.documentElement.scrollTop. Avez-vous essayé le second?

, Vous pouvez faire quelque chose comme ceci:

var scrollTop = document.documentElement ? document.documentElement.scrollTop :
                                           document.body.scrollTop;

J'ai rencontré ces liens en recherchant votre problème:

Cela peut vous aider un peu plus.

10
répondu Vivin Paliath 2010-04-26 22:17:18