#javascript #jquery
Уже много чего смотрел, никак не могу понять, в чем ошибка. У меня меню, которое
прилипает к экрану и исчезает при появлении футера. Пока пытаюсь сделать чтобы оно
исчезало просто при прокрутке вниз до конца.
var hght = 95;
var mrg = 0;
$(function(){
var elem = $('#menu');
var top = $(this).scrollTop();
$(window).scroll(function(){
top = $(this).scrollTop();
if ($(window).scrollTop() == $(document).height() - $(window).height()){
elem.hide();
}
if (top+mrg < hght) {
elem.css('top', (hght-top));
} else {
elem.css('top', mrg);
}
});
});
Погуглил как определить прокрутку до конца
if ($(window).scrollTop() == $(document).height() - $(window).height()){
elem.hide();
}
Но элемент исчезает только если прокрутить вниз, потом снова наверх. Работало также
если писал
if ($(window).scrollTop() == $(window).height()/3){
elem.hide();
}
Но это же не правильно, потому что тогда код привязан к размеру скролла и контента.
Подскажите пожалуйста, как правильно сделать. Заранее спасибо!
Ответы
Ответ 1
Попробуйте так var scrollBottom = $(window).scrollTop() + $(window).height(); var footerPosition = $('.footer').position().top //- $('.footer').height() if(scrollBottom >= footerPosition) elem.hide(); В моём случае для позиционирования футера использовался отрицательный margin, поэтому требовалась ещё часть после комментария.
Комментариев нет:
Отправить комментарий