Это готовый скрипт для плавной прокрутки страницы к якорю на jQuery. Он обращается ко всем ссылкам на странице сразу, учитывая, что ссылки могут быть неякорными.
При отсутствии якорного блока на странице, скрипт перебросит пользователя на главную страницу, где этот блок подразумевается. Если же там блока не будет, будет открыта просто главная страница.
Так выглядит сам код:
$("a").click(function(evt){
let anchor = $(this).attr("href");
if ( anchor.length > 1 && anchor.substring(0, 1) == "#" && $(anchor).length > 0 ){
evt.preventDefault();
$("html, body").animate({
scrollTop: $(anchor).offset().top - 10
}, 400);
}
else if ( anchor.length > 1 && anchor.substring(0, 1) == "#" && $(anchor).length <= 0 ){
evt.preventDefault();
let mainUrl = window.location.origin + "/" + anchor;
window.location.href = mainUrl;
}
else if ( anchor.length <= 1 && anchor.substring(0, 1) == "#" ){
evt.preventDefault();
}
});
Событие плавной прокрутки случается только в том случае, если указана «#» в начале ссылки. Если же строка начинается с иного символа, скрипт не отрабатывает, так как это не якорь.
Всего в программе 3 проверки:
Таким образом я делаю плавную прокрутку к якорю на jQuery на своих проектах. Такая реализация хорошо работает на сайтах на WordPress, позволяя выводить верстку без изменений. Вся обработка всех якорных ссылок находится в одном месте в удобном скрипте.
Если понравилась моя реализация плавной прокрутки на jQuery, напиши комментарий 🙏

Оставьте заявку на разработку
Укажите удобный способ связи для комфортного общения
Получите бесплатную консультацию
Свяжусь с вами в ближайшее время
Оставьте заявку для связи и участия в акции
Свяжусь с вами в ближайшее время.
Спасибо за ваше обращение!
Я скоро с вами свяжусь!
Комментарии