$ (window) .scroll (function () не работает на firefox? - PullRequest
5 голосов
/ 27 февраля 2012

Чтобы загружать страницы, как это делают Facebook или Twitter на своих сайтах, прокручивая их вниз, я попробовал это с помощью jquery:

$(window).scroll(function(){
    if  ($(window).scrollTop() == $(document).height() - $(window).height()){
        //do something
    }
}

И у меня проблемы с Firefox. Не с Chrome и не с Safari (IE еще не тестировался).

Если я использую «alert ('xx')» внутри IF, Firefox вылетает, и мне нужно его перезапустить.

Я использую версию Firefox для Mac, но, думаю, это не важный факт.

Кто-нибудь имеет представление о том, что здесь происходит? Благодаря.

Ответы [ 3 ]

5 голосов
/ 27 августа 2012

У меня та же проблема: она работает в Chrome, но не в Firefox и IE.После отладки я обнаружил, что есть разница в 1 px между $ (document) .height () - $ (window) .height () и $ (window) .scrollTop () в Firefox, но не в Chrome.Мое рабочее решение здесь:

    if  ($(window).scrollTop() + 1 >= $(document).height() - $(window).height()){

      //do something here

    }
1 голос
/ 27 февраля 2012

Событие scroll запускается так много раз, что ваш браузер Firefox падает.Вместо использования alert(), используйте console.log() ...

Вот демонстрация, чтобы показать, сколько событий запущено: http://jsfiddle.net/jasper/tQmRU/

0 голосов
/ 30 июля 2012

У меня была похожая проблема, потому что я поместил точку останова Firebug в обработчик прокрутки, а не alert().Вместо этого я использовал console.log() для отладки, и это не привело к сбою.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...