Доброго времени суток!
Столкнулся с такой проблемой, у меня есть скрипт, который добавляет класс active при скроле, если встречается див с якорем, который указан в ссылке
Но проблема в том, что у меня ссылки имеют следующий вид "ссылка на главную страницу/#якорь"
Но если убрать ссылку на главную страницу всё работает.
И с этим связана ещё одна проблема, ссылки у меня имеют такой вид из-за того, что у меня имеется дочерняя страница, и единое меню.
Находясь на дочерке при клике на ссылку должен происходить переход на главную страницу и скролл к тому якорю, который выбран.
Извиняюсь за глупые вопросы, совсем не знаю как это решить о.о
Буду очень благодарен вам!
$(document).ready(function () {
//плавный скролл по клику
$('.header-site').on('click', 'a[href*="#"]', function(event){
event.preventDefault();
var target_offset = $(this.hash).offset() ? $(this.hash).offset().top : 0;
var customoffset = 106;
$('html, body').animate({scrollTop:target_offset - customoffset}, 400);
$("a.active").removeClass("active");
$(this).addClass("active");
overActive();
})
$(document).on("scroll", onScroll);
})
function onScroll(event){
//активный элемент при скролле
var scrollPos = $(document).scrollTop();
$('.nav-horizontal .menu a').each(function () {
var currLink = $(this);
var refElement = $(currLink.attr("href"));
if (refElement.position().top <= scrollPos && refElement.position().top + refElement.height() > scrollPos) {
$('.nav-horizontal .menu a.active').removeClass("active");
currLink.addClass("active");
}
else{
currLink.removeClass("active");
}
});
}