Как и в описанной проблеме here, в определенных ситуациях $(window).scrollTop()
будет отключен одним в Firefox.scrollTop выключен на 1 пиксель в Firefox
Я использую это, чтобы обнаружить, если вертикальная полоса прокрутки достигла дна:
if ($(window).scrollTop() == $(document).height() - $(window).height())
{
// bottom reached
}
Это работает. Но я просто случайно обнаружил, что он работает только в большинстве случаев. Вот журнал из случая, когда он идет не так. scrollTop
говорит, что я прокрутил 611 пикселей, difference
говорит, что я могу прокручивать 612 пикселей.
scrollTop: 611
doc height: 933
win height: 321
difference: 612
С кодом что-то не так? Или это проблема с Firefox? В последнем случае, я думаю, я могу изменить его, чтобы проверить, осталось ли 5 или менее пикселей. Но если код неправильный, я бы хотел его исправить.
Не можете просто написать: 'если ($ (окно) .scrollTop()> = $ (документ) .height() - $ (окно) .height()) {...} '? – meeDamian
@ chester1000 Нет, потому что если вы посмотрите на значения, 'scrollTop' <' difference'. – Stijn
Как раз мысль, это может быть вызвано подпиксельным рендерингом. http://blogs.msdn.com/b/ie/archive/2012/02/17/sub-pixel-rendering-and-the-css-object-model.aspx?Redirected=true –