Сегодня небольшой урок о том как при помощи jQuery зафиксировать блок при прокрутке. Рассмотрю на основе bootstrap 4 меню, так как в 4м бутстрапе больше не используется afix. Но это применимо по сути для любых блоков. Итак у нас есть обычное стандартное меню:
<nav class="navbar navbar-expand-lg navbar-light bg-light" id="top-a">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Главная <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">О компании</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Контакты</a>
</li>
</ul>
</div>
</nav>
и мы его хотим зафиксировать после прокрутки страницы, для этого воспользуемся jQuery
jQuery(window).scroll(function() {
var the_top = jQuery(document).scrollTop();
if (the_top > 200) {
jQuery('#top-a').addClass('fixed');
}
else {
jQuery('#top-a').removeClass('fixed');
}
});
где #top-a это id меню, а 200 — это число через сколько пикселей производить фиксацию, все)









