Получить положение прокрутки с помощью jquery
странная просьба, но мне нужно получить текущую позицию прокрутки браузера в качестве переменной. Какую функцию js или jquery я должен использовать? Мне нужно выяснить, какие элементы для отображения на стороне. Я нашел несколько вещей в интернете, но ничего, что работает для моего div, просто полная страница.
4 ответов:
старые браузеры IE и Firefox прикрепляют полосу прокрутки к
documentElement, или что было бы<html>тег в HTML.все остальные браузеры прикрепляют полосу прокрутки к
document.body, или что было бы<body>тег в HTML.правильным решением было бы проверить, какой из них использовать, в зависимости от браузера
var doc = document.documentElement.clientHeight ? document.documentElement : document.body; var s = $(doc).scrollTop();jQuery делает это немного проще, при передаче в любом
windowилиdocumentjQueryscrollTopделает аналогичную проверку и цифры это так, поэтому любой из них должен работать кросс-браузерvar s = $(document).scrollTop();или
var s = $(window).scrollTop();описание: получить текущее вертикальное положение полосы прокрутки для первый элемент в наборе согласованных элементов или установить вертикаль положение полосы прокрутки для каждого соответствующего элемента.
...ничего, что работает для моего div, просто полная страница
если это для DIV, вам нужно будет нацелиться на элемент, к которому прикреплена полоса прокрутки, чтобы получить прокрученную сумму
$('div').scrollTop();Если вам нужно получить расстояние элементов от верхней части документа, вы также можете сделать
$('div').offset().top
Я считаю, что лучший метод с jQuery использует
.scrollTop():var pos = $('body').scrollTop();
использовать scrollTop() для получения или установки положения прокрутки.
Comments