Проблема с плавной прокруткой для привязки ссылок на домашней странице с другой HTML-страницы - PullRequest
0 голосов
/ 28 марта 2019

Я успешно реализовал плавную прокрутку на моем сайте.Моя домашняя страница содержит 4 якорных ссылки (каждая с классом 'smooth' - с нулевым стилем CSS для этого класса).Однако моя страница политики конфиденциальности / cookie-файлов находится на отдельной html-странице.К сожалению, я не могу вернуться на домашнюю страницу, когда на странице конфиденциальности.Я получаю ошибку cannot read property of 'top' of undefined.

Так что я хотел бы знать, как успешно поддерживать плавную прокрутку при переходе между страницами (ссылки привязки присутствуют только на главной странице).Я использую JQuery.Я очень ценю вашу помощь.

// Smooth scrolling
   $('.smooth').click(function(e) {
      e.preventDefault();
      $('html, body').animate({
         scrollTop: $(this.hash).offset().top
      }, 500);
   });

   // Active link switching
   $(window).scroll(function() {
      var scrollbarLocation = $(this).scrollTop();
      $('.nav__link').each(function() {
         var sectionOffset = $(this.hash).offset().top - 80;
         if (sectionOffset <= scrollbarLocation) {
            $(".nav__link").removeClass('active');
            $(this).addClass('active');
         }
      });
   });

   // Maintaining urls
   function markLinkActive(event) {
      event.preventDefault();
      $("nav .active").removeClass("active");
      this.classList.add("active");
      window.location.href = this.getAttribute("href");
   }
...