Доброго дня!
Есть скрипт плавного перехода по якорям + добавления класса в пункт меню. Плавный скролл работает, но класс добавляется к любой ссылке на странице, если кликнуть, а должен только в меню. Я не понимаю в чем ошибка. Может кто-нибудь посмотреть из более опытных, пожалуйста.
Работу скрипта можно посмотреть на этой странице pvctruba.ru
скриптvar menu_selector = ".menunav";
function onScroll(){
var scroll_top = $(document).scrollTop();
$(menu_selector + " a").each(function(){
var hash = $(this).attr("href");
var target = $(hash);
if (target.position().top <= scroll_top && target.position().top + target.outerHeight() > scroll_top) {
$(menu_selector + " li.activepath").removeClass("activepath");
$(this).addClass("activepath");
} else {
$(this).removeClass("activepath");
}
});
}
$(document).ready(function () {
$(document).on("scroll", onScroll);
$("a[href^=#]").click(function(e){
e.preventDefault();
$(document).off("scroll");
$(menu_selector + " a.activepath").removeClass("activepath");
$(this).addClass("activepath");
var hash = $(this).attr("href");
var target = $(hash);
$("html, body").animate({
scrollTop: target.offset().top
}, 500, function(){
window.location.hash = hash;
$(document).on("scroll", onScroll);
});
});
});
$(document).ready(function(){
$(".menunav").changeactivepathNav();
});