Вы были близки.
Дело в том, что currentScroll
никогда не может быть выше вашей позиции footer
.
currentScroll
- это количество пикселей над окном просмотра.Таким образом, «ссылка» для передачи элементов - это верхняя часть области просмотра.Очевидно, этого никогда не происходит с вашим нижним колонтитулом.
Итак! Вы должны добавить .whitepaper-section
высоту к currentScroll
и сравнить с положением нижнего колонтитула.
Дополнительно, .whitepaper-section
фиксируется с позицией top
... Вы также должны добавить это расстояние.Я оценил это до 1em в коде ниже.
var fixme = $('.whitepaper-section');
var fixmeTop = fixme.offset().top;
var fixmeHeight = fixme.outerHeight();
var fixedtopOffset = 1em; // Adjust that with the value you have in CSS .fixed
var footer = $('#footer_bg').offset().top;
if ($(window).width() > 1035) {
$(window).scroll(function() {
var currentScroll = $(window).scrollTop();
if (currentScroll >= fixmeTop && currentScroll + fixmeHeight + fixedtopOffset <= footer) {
$('.whitepaper-section').addClass('fixed');
} else {
$('.whitepaper-section').removeClass('fixed');
}
});
}