Доброго времени суток!
Пытался реализовать плавный и столкнулся с такой проблемой
У сайта есть единое закреплённое меню в шапке(сопровождающее), ссылки имеют следующий вид="ссылка на главную страницу/якорь".
На главной странице скролл работает, но когда мы находимся на дочерней странице и кликаем на элемент меню, должен происходить переход на главную страницу и скролл к тому элементу который находится после ссылки, но увы это не происходит.
И ещё одна проблема заключается в следующем:
Я сделал скрипт который подсвечивает активный пункт меню при скроле, в случае если у нас нету ссылки на главную страницу скрипт работает, но если я помещаю её к ссылке, то увы всё перестаёт работать
$(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")
})
$(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");
}
});
}