2017-05-01 3 views
5

Dans Google Chrome document.body.scrollTop retourne toujours 0.Google Chrome document.body.scrollTop retourne toujours 0

J'essaie

if (window.pageYOffset > 0) { 
    st = window.pageYOffset; 
    } else if (document.documentElement.scrollTop > 0) { 
    st = document.documentElement.scrollTop; 
    } else { 
    st = document.body.scrollTop; 
    } 

Mais ne fonctionne pas. document.body.scrollTop travaille dans firefox.

Même dans la console de chrome quand je code ce code dans la console il ne fonctionne pas.

enter code here 
    $('html, body').stop().animate({ 
    scrollTop: 50 
    }, 500); 
+0

J'ai aussi ce problème. Fonctionne dans FF et Safari. Cela fonctionnait il y a environ deux mois. Je pense qu'il y a peut-être un bug? –

Répondre

5

Je frappe aussi cela. Selon cette question ce comportement a changé entre Chrome 60 et Chrome 61:

https://bugs.chromium.org/p/chromium/issues/detail?id=766938

D'après ce que j'ai lu le nouveau comportement est en fait plus conforme aux normes. La solution suggérée par le commentaire n ° 5 pour cette question est:

Si vous êtes à la recherche d'une manière interopérable d'interroger scrollTop vous pouvez utiliser l'attribut window.scrollY ou faire quelque chose comme document.documentElement.scrollTop || document.body.scrollTop