Есть секция с липким позициированием. Внутри блок с скроллом. Как сделать так, чтобы того, как весь внутренний контент проскролится, секция менила sticky на static. Эта секция находится в средине страницы и нужно, чтобы при скроле всей страницы, данная секция прилипала к верху, далее скроллится внутренний контент, и когда он доходит до края, секция отлипает и вся страница движется дальше. Надеюсь объяснил номрально.
Разметка:
<?php echo jy_css_block('ag_b6') ?>
<section id="ag_b6_5" class="ag_b6">
<div class="container scroll">
Контент
</div>
</section>
Стили:
.ag_b6 {
position: -webkit-sticky;
position: sticky;
height: 100vh;
top: 0;
padding: 0px;
overflow: hidden;
}
.ag_b6 .container.scroll {
height: 100vh;
}
.ag_b6 .container {
overflow-y: auto;
overflow-x: hidden;
max-width: unset;
width: 100%;
}
Мой скрипт исхода из советов на просторах гугла не срабатывает. Я так понимаю, не работает условие.
let element = document.getElementsByClassName('scroll');
element.onscroll = function() {
let scroll = element.scrollTop;
let height = element.scrollHeight - element.clientHeight;
if (height - scroll === 0) {
allert('Scroll end');
}
}
Пробовал еще так:
var scroll_elem = jQuery('.scroll'),
elem_scroll_height = jQuery(scroll_elem)[0].scrollHeight,
scroll_elem_height = scroll_elem.height();
jQuery(scroll_elem).scroll(function(){
if (jQuery(this).scrollTop() >= elem_scroll_height - scroll_elem_height) {
// jQuery('.ag_b6').addClass('static')
console.log('Hello');
}
});
Помогите! Ломаю голову второй день!