Dziwna prośba, ale chcę, aby aktualna pozycja przewijania przeglądarki była zmienną. Jakiej funkcji js lub jquery powinienem użyć? Potrzebuję go, aby dowiedzieć się, jakie elementy wyświetlić na boku. Znalazłem kilka rzeczy online, ale nic, co działa dla mojego div, tylko pełna strona.Zdobądź pozycję przewijania za pomocą jquery
Odpowiedz
krzyż wariant przeglądarka
$(document).scrollTop();
Starsze przeglądarki IE i Firefox dołączają pasek przewijania do documentElement
lub co to jest znacznik <html>
w HTML.
Wszystkie inne przeglądarki dołączają pasek przewijania do document.body
lub jaki jest tag <body>
w HTML.
Prawidłowe rozwiązanie byłoby sprawdzić, który z nich korzystać, w zależności od przeglądarki
var doc = document.documentElement.clientHeight ? document.documentElement : document.body;
var s = $(doc).scrollTop();
jQuery robi to trochę łatwiejsze, kiedy przechodząc albo window
lub document
jQuery scrollTop
robi podobną kontrolę i danych liczbowych na zewnątrz, więc jeden z nich powinien działać cross-browser
var s = $(document).scrollTop();
lub
var s = $(window).scrollTop();
Opis: Pobierz aktualną pozycję pionową paska przewijania dla pierwszy element zestawu dopasowanych elementów lub ustawić w pionie położenie paska przewijania dla każdego dopasowanego elementu.
... nic, że działa dla mojego div, tylko pełne strona
Jeśli to dla DIV, trzeba kierować element, który ma paska przewijania załączony , aby uzyskać przewijane ilość
$('div').scrollTop();
Jeśli trzeba uzyskać dystans elementy z górnej części dokumentu, można również zrobić
$('div').offset().top
Użyj scrollTop(), aby uzyskać lub ustawić pozycję przewijania.
Uważam, że najlepszą metodą z jQuery używa .scrollTop()
:
var pos = $('body').scrollTop();
Co różni tę odpowiedź za drugim @ adeneo za? –
Daryl's jest ponad 7% mniejszy, dzięki czemu jest bardziej wydajny;) –
@JasonSperske: D teraz twoja przyczyna Mam do zrobienia kolejną kawę –
- 1. Zachowaj pozycję przewijania za pomocą przełącznika slajdów jQuery Mobile
- 2. Jak wykrywać pozycję przewijania strony za pomocą jQuery
- 3. Zdobądź pojemnik za pomocą on() w jQuery
- 4. Ustaw pozycję dynamicznie za pomocą jquery
- 5. Jak zmienić pozycję elementu za pomocą jQuery
- 6. Sprawdź pozycję przewijania za pomocą Karmy, PhantomJS, Jasmine
- 7. Animowanie efektu przewijania Rolodex za pomocą jQuery
- 8. Zdobądź pozycję przędzarki w Androidzie
- 9. CSS ustawić domyślną pozycję przewijania
- 10. ListView uzyskać pozycję przewijania?
- 11. Chrome zapamiętuje pozycję przewijania
- 12. Zdobądź pozycję myszy w przewijanym dziale
- 13. ARKit - Zdobądź aktualną pozycję "kamery" na scenie
- 14. Uzyskaj dokładną pozycję kliknięcia na połączonym obrazie za pomocą jquery
- 15. Uzyskaj i ustaw pozycję za pomocą jQuery .offset()
- 16. Zdobądź aktualną pozycję okna w stosunku do treści dokumentu
- 17. Jak określić wysokość i pozycję przewijania okna w jQuery?
- 18. Zdobądź pozycję w oknie przeglądarki Internet Explorer
- 19. Zdobądź pozycję widoku obrazu na układzie android
- 20. Tworzenie efektu rozmycia za pomocą css i jQuery podczas przewijania
- 21. szerokość textarea (minus pasek przewijania) za pomocą jQuery
- 22. Implementacja niekończącego się przewijania za pomocą Rails 3 i Jquery
- 23. Zdobądź rekord dziecka za pomocą Linq
- 24. za pomocą jQuery, aby uzyskać pozycję bezwzględną lub pozycję względną div
- 25. Naśladowanie natywnego przewijania za pomocą Javascriptu
- 26. WPF DataGrid - zachowaj pozycję przewijania po odświeżeniu
- 27. Wyszukiwanie za pomocą autouzupełniania Jquery
- 28. pozycję przewijania utracone, gdy ukrywanie div
- 29. Zachowaj pozycję paska przewijania nawet po ponownym wczytaniu za pomocą javascript
- 30. jQuery Ustaw pozycję myszy (nie pozycję kursora)
To powinna być zaakceptowana odpowiedź; $ ('body'). scrollTop() nie działa w IE. – Robert
$ ('body'). ScrollTop() również nie działał dla mnie w Firefoksie. – GTCrais
try $ ("html, body").scrollTop(); – arturmoroz