#javascript #jquery
#javascript #jquery
Вопрос:
Я пытаюсь определить, когда мой пользователь прокрутил до точки непосредственно перед тем, как он увидит первый пиксель нижнего колонтитула.
Вот как я пытаюсь вычислить позицию непосредственно перед нижним колонтитулом:
footerVisible = $(document).height() - $(window).height() - $('footer').height() - 1;
alert(footerVisible);
Я беру высоту всего документа и вычитаю высоту области просмотра и высоту нижнего колонтитула.
Это меня настораживает 3695
.
Теперь я регистрирую положение прокрутки следующим образом:
$window.scroll(function(e){
console.log($window.scrollTop());
}
При прокрутке до самого низа документа (т. Е. Просмотр полного нижнего колонтитула и конца документа) консоль указывает, что я нахожусь на позиции 3211
.
Моя логика явно где-то ошибочна…
Как я могу вычислить позицию «scrollTop», в которой пользователь будет находиться непосредственно перед тем, как он увидит первый пиксель нижнего колонтитула. Может ли кто-нибудь предоставить скрипку, которая выдает предупреждение до того, как пользователь увидит нижний колонтитул?
РЕДАКТИРОВАТЬ скрипку можно здесь
Комментарии:
1. Не могли бы вы указать, что у вас есть, чтобы кто-нибудь мог правильно изложить?
2. @Seth Я загрузил скрипку! Кроме того, кто бы ни проголосовал против, я хотел бы получить объяснение, почему это не вопрос о программировании в соответствии с правилами, определенными в справочном центре? С объяснением я мог бы, надеюсь, улучшить вопрос, чтобы попытаться получить ответ на вопрос, который раньше здесь не задавался, и который, возможно, также может быть полезен другим в будущем 🙂
Ответ №1:
Чтобы увидеть «первый пиксель нижнего колонтитула», положение прокрутки должно быть на один пиксель меньше на одну высоту окна от высоты нижнего колонтитула.
var footerVisible = $(document).height() - $(window).height() - $('footer').height() - 1;
Ваша функция прокрутки должна быть примерно такой:
$(window).scroll(function() {
if( $(window).scrollTop() >= footerVisible ) {
alert('Footer Visible');
}
});
Комментарии:
1. Да, но на самом деле это не моя проблема,
footerVisible
она находится3695
в моем браузере, когда я вычисляю ее таким образом («добавляя» ваш -1, который я забыл), но когда я прокручиваю до самого низа, я только нахожусь3211
. Я считаю, что это не может быть способом вычислить точку, в которой появится нижний колонтитул.2. Я загрузил туда скрипку!