$(window).scrollTop () vs. $(document).scrollTop()

Jaka jest różnica między:

$(window).scrollTop()

I

$(document).scrollTop()
Dzięki.
Author: Hussein, 2011-03-20

4 answers

Oba będą miałyten sam efekt .

Jak jednak wskazano w komentarzach: $(window).scrollTop() jest obsługiwany przez więcej przeglądarek internetowych niż $('html').scrollTop().

Edit: 2017 Wystarczy użyć window.scrollTo(0,0)

 130
Author: Bodman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-01 17:54:33

Najpierw musisz zrozumieć różnicę między oknem a dokumentem. Obiekt window jest najwyższym poziomem po stronie klienta. Nie ma nic nad obiektem okna. Javascript jest językiem zorientowanym obiektowo. Zaczynasz od obiektu i stosujesz metody do jego właściwości lub właściwości grup obiektów. Na przykład obiekt document jest obiektem obiektu window. Aby zmienić kolor tła dokumentu, należy ustawić właściwość dokumentu bgcolor.

window.document.bgcolor = "red" 

To odpowiedz na pytanie, nie ma różnicy w wyniku końcowym między oknem a przewijaniem dokumentu. Oba dadzą ten sam wynik.

Sprawdź działający przykład na http://jsfiddle.net/7VRvj/6/

Ogólnie używaj dokumentu głównie do rejestrowania zdarzeń i używania okna do wykonywania takich czynności jak przewijanie, przewijanie i zmiana rozmiaru.

 31
Author: Hussein,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-21 02:24:38

Cross browser way of doing this is

var top = ($(window).scrollTop() || $("body").scrollTop());
 3
Author: amachree tamunoemi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-20 12:54:04

Właśnie miałem kilka podobnych problemów z scrollTop opisanych tutaj.

W końcu obejrzałem to na Firefox iIE za pomocą selektora $('*').scrollTop(0);

Nie jest idealny, jeśli masz elementy, których nie chcesz efektować, ale pomija różnice między dokumentem, ciałem, HTML i oknem. Jeśli to pomoże...

 -2
Author: Tapiochre,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-14 14:42:00