Сделайте что-нибудь в 100 пикселей, прежде чем полоса прокрутки достигнет нижней части

#javascript #jquery

#javascript #jquery

Вопрос:

У меня есть приведенный ниже Javascript, и предупреждение отображается, как и должно, когда полоса прокрутки достигает нижней части страницы.

Однако я бы хотел, чтобы это произошло на 100 пикселей, прежде чем она достигнет дна. Как бы я это сделал?

 $(window).scroll(function(){
  if($(window).scrollTop() == $(document).height() - $(window).height() ){

    alert("at bottom");

  }
}
  

Ответ №1:

 $(window).scroll(function(){
  if($(window).scrollTop()   100 > $(document).height() - $(window).height() ){

    alert("at bottom");

  }
});
  

Используйте > вместо == , потому что событие прокрутки срабатывает спорадически, поэтому вы можете прокручивать это значение несколько раз, но событие никогда не срабатывает при точном совпадении.

Комментарии:

1. Это решение срабатывает несколько раз в IE.

2. @usefulBee Да, я оставлял на усмотрение разработчика определение того, было ли уже предпринято запланированное действие или нет. Это решение просто позволяет определить, когда вы находитесь в целевой позиции прокрутки.