при скроле верх убрать класс
Есть у меня код который при скроле вниз добавляет класс, но не получается если вернутся на самых верх удалить этот класс, header у меня фиксированный может быть из за этого?
jQuery(document).ready(function($) {
var target = $('.mid-header');
var winHeight = $(window).height();
var heihgtTopToElement = $(".mid-header").offset().top - $(window).scrollTop();
$(window).scroll(function() {
var windowpos = $(window).scrollTop();
if ( windowpos => heihgtTopToElement ) {
$(".mid-header").addClass("active_nav");
} else {
$(".mid-header").removeClass("active_nav");
}
});
});
Ответы (1 шт):
Автор решения: UserGames
→ Ссылка
Попробуйте код ниже, у меня он работает прекрасно. Header тоже фиксированный
/* Fixed header */
let header = $(".mid-header");
let headerH = header.innerHeight();
let scrollPos = $(window).scrollTop();
checkScroll(scrollPos, headerH)
$(window).on("scroll resize", function() {
let headerH = header.innerHeight();
scrollPos = $(this).scrollTop();
checkScroll(scrollPos, headerH)
});
function checkScroll(scrollPos, headerH) {
if(scrollPos > headerH) {
header.addClass("active_nav");
} else {
header.removeClass("active_nav")
}
}
Кстати, зачем создавать переменную target, но не использовать её?)