Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Плавная прокрутка к якорю (https://javascript.ru/forum/jquery/53711-plavnaya-prokrutka-k-yakoryu.html)

krionic 14.02.2015 21:32

Плавная прокрутка к якорю
 
Есть отлично работающий код для плавной прокрутки к якорю:

$(document).ready(function(){
	$('a[href^="#"]').on('click',function (e) {
	    e.preventDefault();

	    var target = this.hash,
	    $target = $(target);

	    $('html, body').stop().animate({
	        'scrollTop': $target.offset().top
	    }, 900, 'swing', function () {
	        window.location.hash = target;
	    });
	});
});


Проблема в том, что в новом дизайне сайта у меня есть фиксированное верхнее меню (полоска). И когда происходит прокрутка к якорю-заголовку, то пол заголовка закрывается этим меню, так как якорь поставлен именно на него (переносить якорь выше не хочу из-за сео-оптимизации).

В общем, нужно как-то в этом коде добавить "-50px"(высота верхнего меню), чтобы прокрутка шла не точно до якоря, а чуть выше. Не знаю как это сделать, подскажите пожалуйста! :help:

рони 14.02.2015 22:06

krionic,
'scrollTop': $target.offset().top + 50

krionic 14.02.2015 22:41

Цитата:

Сообщение от рони (Сообщение 356656)
krionic,
'scrollTop': $target.offset().top + 50

Спасибо, работает! :dance:


Часовой пояс GMT +3, время: 08:32.