Функция jQuery .bind (прокрутка) не работает в Firefox - PullRequest
2 голосов
/ 30 января 2012

Итак, на днях я задал вопрос о Stackoverflow и получил ответы. Но, видимо, после всего этого времени я не могу найти решение. Код, который у меня есть, работает в Chrome и Safari, но не работает в Firefox и IE.

Кто-нибудь может подсказать, что не так с этим кодом?

$(window).bind('scroll', function() {
        if ($('body').scrollTop() + $(window).height() >= $('#cooler-nav').offset().top){   
        $.colorbox({width:"700px", inline:true, href:"#subscribepop"});
        $(window).unbind('scroll');
        }

});

По сути, цель состоит в том, чтобы заставить этот colorbox запускаться, когда пользователь просматривает div # cooler-nav ...

Ответы [ 2 ]

3 голосов
/ 30 января 2012

Событие прокрутки не распространяется вверх по дереву DOM.Попробуйте связать свиток 'body', а не свиток Windows, и посмотрите, исправит ли это вас.

Редактировать: Я вернулся и проверил свой код, где мне нужно было сделатьэто в прошлом, и понял, что я получил это назад.Когда я делал это в прошлом, я использовал $(window).scrollTop(), а не тело.Итак, ваш код будет выглядеть так:

$(window).bind('scroll', function() {
  if ($(window).scrollTop() + $(window).height() >= $('#cooler-nav').offset().top){   
    $.colorbox({width:"700px", inline:true, href:"#subscribepop"});
    $(window).unbind('scroll');
  }
});
0 голосов
/ 30 января 2012

Вы должны изменить условие if, чтобы проверять scrollTop для body, html, чтобы оно работало в FF

...