partyzanx
@partyzanx

Какой лучше выбрать скрипт плавного скрула?

У меня была задача найти скрипт, чтобы при нажатии на .contents a[href^="#"] происходил плавный переход к якорю на странице.

Вот я нашёл такой скрипт, но из-за него сотни ошибок и другие скрипты некоторые не работают.
<!-- Скрипт smooth scroll всех ссылок, начинающихся на # -->
<script>
/*
* Активное меню, плавный скролл landing page
*/

$(window).on('scroll', scrollBlock);

var heightMenu = $('.contents a[href^="#"]').outerHeight();
var currentLink = $('.contents a[href^="#"]');
var curTarget = '';


//Устанавливаем отступ контейнера
$('.page-wrap').css('padding-top', heightMenu);

//Плавное прокручивание по клику на элемент
$(currentLink).on('click', function(e){
  $(currentLink).removeClass('active');
  $(this).addClass('active');
  curTarget = $(this).attr('href');
	$('html, body').stop().animate({scrollTop: $(curTarget).offset().top - heightMenu}, 900);
	return false;
});


//Добавляет активность меню при прокручивании документа
function scrollBlock(){

  var scrollPos = $(window).scrollTop();
  $(currentLink).each(function(){
   curTarget = $(this).attr('href');
   var ofsetTarget = Math.round($(curTarget).offset().top - heightMenu);
   if(ofsetTarget <= scrollPos){
     $(currentLink).removeClass('active');
     $(this).addClass('active');
   }
  });
};



</script>


Какой лучше код для плавного скрула подойдёт?
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы