Подтвердить что ты не робот

Как получить позицию прокрутки браузера в jQuery?

У меня есть веб-документ со свитком. Я хочу получить значение в пикселях текущей позиции прокрутки. Когда я запускаю нижнюю функцию, она возвращает нулевое значение. Как я могу это сделать?

<script type="text/javascript" src="js/jquery-1.7.2.js"></script>
<script type="text/javascript" src="js/jquery.mousewheel.min.js"></script>
<script type="text/javascript">
    $(function (){
        $('#Eframe').on("mousewheel", function() {
            alert(document.body.scrollDown)
        }
    })
</script>
4b9b3361

Ответ 1

Так как вы используете jQuery, вот решение jQuery.

$(function() {
    $('#Eframe').on("mousewheel", function() {
        alert($(document).scrollTop());
    });
});

Не так много объяснять здесь. Если вы хотите, документация jQuery.

Ответ 2

Лучше использовать $(window).scroll(), а не $('#Eframe').on("mousewheel")

$('#Eframe').on("mousewheel") не будет срабатывать, если люди будут вручную прокручивать стрелки вверх и вниз на полосе прокрутки или захватывать и перетаскивать полосу прокрутки.

$(window).scroll(function(){
    var scrollPos = $(document).scrollTop();
    console.log(scrollPos);
});

Если #Eframe - это элемент с overflow:scroll на нем, и вы хотите, чтобы он прокручивал позицию. Я думаю, что это должно работать (я еще не проверял его).

$('#Eframe').scroll(function(){
    var scrollPos = $('#Eframe').scrollTop();
    console.log(scrollPos);
});