Quelle est la différence entre:
$(window).scrollTop()
et
$(document).scrollTop()
Merci.
Ils vont tous les deux avoir le même effet.
Cependant, comme indiqué dans les commentaires: $(window).scrollTop()
est pris en charge par plus de navigateurs Web que $('html').scrollTop()
.
Tout d'abord, vous devez comprendre la différence entre fenêtre et document. L'objet window est un objet client de niveau supérieur. Il n'y a rien au-dessus de l'objet window. Javascript est un langage orienté objet. Vous commencez avec un objet et appliquez des méthodes à ses propriétés ou aux propriétés de ses groupes d'objets. Par exemple, l'objet document est un objet de l'objet window. Pour changer la couleur d'arrière-plan du document, définissez la propriété bgcolor du document.
window.document.bgcolor = "red"
Pour répondre à votre question, il n'y a pas de différence dans le résultat final entre window et le document scrollTop. Les deux donneront le même résultat.
En général, utilisez document principalement pour enregistrer des événements et utilisez window pour effectuer des opérations telles que scroll, scrollTop et redimensionnement.
La manière la plus simple de le faire est de
var top = ($(window).scrollTop() || $("body").scrollTop());
Je viens d'avoir quelques problèmes similaires avec scrollTop
décrits ici.
En fin de compte, j'ai contourné ceci sur Firefox et C'EST-À-DIRE en utilisant le sélecteur $('*').scrollTop(0);
Pas parfait si vous avez des éléments que vous ne souhaitez pas affecter, mais qui évitent les disparités entre Document, Body, HTML et Window. Si ça aide ...