Задать вопрос

Как заставить работать плавный скролл с ссылками+якорь?

Доброго времени суток, столкнулся с такой проблемой, всё не могу найти решение.

В чём проблема.
У меня имеются ссылки(якори), кликаем -> плавно едем к блоку(данный способ работает, только с теми элементами, которые не имеют ссылки страницы)
Моя ситуация требует такого подхода, якорь выглядит следующим образом(ссылка/#якорь)
При клике мы просто перемещаемся, анимация не срабатывает.

jQuery(function($) { 
 
$('a[href^="#"]').live('click',function(event){
    event.preventDefault();
    var target_offset = $(this.hash).offset() ? $(this.hash).offset().top : 0;
    //change this number to create the additional off set        
    var customoffset = 85;
    $('html, body').animate({scrollTop:target_offset - customoffset}, 500);
});
 
}(jQuery));
  • Вопрос задан
  • 448 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 1
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
якорь выглядит следующим образом(ссылка/#якорь)

$('a[href^="#"]').live('click',function(event){

Символ ^ о чем вам говорит?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@denistrator
Front-end Developer
якорь выглядит следующим образом(ссылка/#якорь)
Насколько я понимаю ссылка ведёт на другую страницу. Как вы это хотите анимировать?
Если это элемент на текущей станице, то классика должна сработать,
$('a[href ^= "#"]').click(function () {
		var elementClick = $(this).attr("href");
		var destination = $(elementClick).offset().top;
		$('html,body').animate( { scrollTop: destination }, 1000 );
		return false;
	});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы