Друзья, помогите разобраться, а то виски уже поседели...
Верстаю адаптивный макет. При ширине экрана <768 панель навигации скрывается и вызывается только по клику по гамбургеру. С этим проблем нет.
Далее. При ширине >768 и при прокрутке, при достижении определенной высоты панели навигации присваивается position: fixed, т.е. она остается приклеенной к верху страницы. Соответственно, подобное поведение мне требуется только при ширине от 768. Так вот - как сделать так, чтобы при достижении <768, без перезагрузки, этой проклятой панели навигации переставал присваиваться position: fixed?
Вот собственно, код, который не срабатывает:
function floatNavbar() {
$(window).scroll(function() {
// Если скролл больше высоты хидера
if ($(window).scrollTop() >= $(".header").outerHeight()) {
// Присвоить навбару вот это:
$(".navbar").css("position", "fixed");
} else {
// Иначе - вернуть исходное значение
$(".navbar").css("position", "");
}
});
}
// При загрузке - в зависимости от ширины экрана - срабатывает или не срабатывает floatNavbar()
if ($(window).width() >= 768) {
floatNavbar();
}
// А вот при ресайзе - floatNavbar() срабатывает всегда, хотя, казалось бы, не должен...
// и панель навигации - хоть в свернутом, хоть в развернутом виде
// упрямо прилипает к верху страницы
$(window).resize(function() {
if ($(window).width() >= 768) {
floatNavbar();
}
});
Что делать, и кто виноват?