Прокрутка мобильного пользователя JQuery вниз

следующий код, я пытаюсь найти, когда пользователь прокручивает в нижней части страницы. В jQuery mobile.

$(window).scroll(function(){
     if($(window).scrollTop() == $(document).height() - $(window).height()){
          alert("The Bottom");
     }
});

пока я просто хочу, чтобы он вывел, что они достигли дна.

моя проблема в том, что при загрузке сайта он выведет это сообщение. Когда я прокручиваю вниз, он будет выводить предупреждение.

есть ли способ остановить его, когда страница загружена, и делать это только тогда, когда пользователь физически прокрутил страницу?

спасибо

2 ответов


это потому, что ваш контент короче вашей страницы? Это означает, что когда он загружается, Вы уже на дне. Я попытался воспроизвести вашу проблему здесь http://jsfiddle.net/qESXR/2/ и он ведет себя так, как вы хотите. Однако, если я сокращаю контент и запускаю его локально на своей машине, я получаю тот же результат, что и вы.
Если это так, вы можете проверить высоту страницы против высоты вашего html, используя эти

$(window).height();   // returns height of browser viewport

$(document).height(); // returns height of HTML document

такой:

$(window).scroll(function(){
    if($(document).height() > $(window).height())
    {
        if($(window).scrollTop() == $(document).height() - $(window).height()){
          alert("The Bottom");
        }
    }
});

проблема в том, что jQuery Mobile виджет страницы обрабатывает каждую "страницу" как окно, насколько прокрутка идет. Чтобы определить, когда пользователь прокрутил до конца, привяжите функцию прокрутки к $(document) вместо:

http://jsfiddle.net/5x6T2/

$(document).scroll(function () {
    if ($(window).scrollTop() + $(window).height() == $(document).height()) {
        alert("Bottom reached!");
    }
});