Я использую сценарий плавной прокрутки для своего одностраничного сайта. Он прокручивается до каждого якоря.
Из-за дизайна я не могу привязать якорь прямо к верхней части страницы. Мне пришлось создать скрытые якоря, которые находятся дальше по странице, чтобы они не привязывались точно к вершине.
Вот скрипт, который я сейчас использую:
jQuery(document).ready(function($) {
$(".scroll").click(function(event){
event.preventDefault();
$('html,body').animate({
scrollTop: $('[name="' + this.hash.substring(1) + '"]').offset().top
}, 500);
});
});
Мне сообщили, что я могу сделать смещение внутри этого скрипта. Вместо того, чтобы повсюду размещать эти маленькие скрытые якоря, я могу просто добавить что-то в конец верхней части, чтобы сместить ее на определенное количество пикселей. Было бы топ -250
$('html,body').animate({
scrollTop:$('[name="' + this.hash.substring(1) + '"]').offset().top - 250
}, 500);
Проблема в том, что это сделает смещение всегда равным 250px, мне нужно, чтобы оно было переменным, чтобы, например, div портфолио можно было закрепить со смещением 200px, а div контакта только на 50px.
Может ли кто-нибудь помочь мне написать какой-то селектор в скрипт, который позволит мне настроить этот верхний -[переменная] в зависимости от того, к какому div привязывается?