JQuery Mobile User прокрутить вниз - PullRequest
7 голосов
/ 15 февраля 2012

С помощью следующего кода я пытаюсь найти, когда пользователь прокручивает страницу вниз. В мобильном телефоне JQuery.

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

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

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

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

Спасибо

Ответы [ 2 ]

7 голосов
/ 15 февраля 2012

Это потому, что ваш контент короче вашей страницы? Это означает, что когда он загружается, вы уже внизу. Я попытался повторить вашу проблему здесь 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");
        }
    }
});
1 голос
/ 14 июля 2014

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

http://jsfiddle.net/5x6T2/

$(document).scroll(function () {
    if ($(window).scrollTop() + $(window).height() == $(document).height()) {
        alert("Bottom reached!");
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...