Прокрутите до привязки с другой страницы

Проблема в том, что он отлично работает в локальной среде. Но когда я публикую его в surge, он не работает должным образом. Я использую webpack как для dev, так и для prod.

Обновлять Я снова опубликовал сайт. Это решение иногда работает, иногда нет. Тестирование в Chrome Incognito. Есть ли проблема с кэшированием? После нажатия нескольких ссылок на веб-сайте прокрутите до привязки, которая начала работать правильно.

Я использую код ниже:

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

        if (this.hash !== "") {
          // Prevent default anchor click behavior
          event.preventDefault();

          var hash = this.hash;
          var header = $('.rd-navbar').height();

          $('html, body').animate({
            scrollTop: $(hash).offset().top - header
          }, 800, function(){

            // Add hash (#) to URL when done scrolling (default click behavior)
            window.location.hash = hash;
          });
        }
      });

Плавная прокрутка работает нормально, если якорь находится на той же странице. Но, например, у меня есть футер, где ссылка technology.html#security. Это отлично работает в моей локальной среде. Но когда я нажимаю на ту же ссылку в опубликованной версии, она не прокручивается до раздела security на technology.html.

Я также использую ниже CSS:

html {
    scroll-behavior: smooth;
}    
section:before {
        height: 40px;
        content: "";
        display:block;
    }

Также, если я обновляю страницу technology.html#security локально, она работает нормально и правильно прокручивается до раздела. Но не в опубликованной версии.

Как исправить привязку прокрутки к другой странице в рабочей среде?

@AswinKumar уже пытался, но у меня не сработало. Проблема в производственной версии.

Valay 22.02.2019 15:29

Что не сработало? вы проверили хэш и связанный с ним элемент? Этот метод передачи #hash должен работать.

samb102 22.02.2019 15:35

Вы уверены, что код анимации также находится на целевой странице?

User863 22.02.2019 15:37

@samb102 samb102 отлично работает в локальной среде. это не работает на prod env.

Valay 22.02.2019 15:37

Код jquery @AswinKumar находится в общем сценарии.

Valay 22.02.2019 15:38

@Valay Возможно, для загрузки скрипта требуется некоторое время. попробуй вставить в строку

User863 22.02.2019 15:42

@AswinKumar это общий код для всех <a>.

Valay 22.02.2019 15:51

Событие клика @Valay работает только при клике. ваш код должен быть в $(function() {});

User863 22.02.2019 16:08

Код @AswinKumar находится в $document.ready()

Valay 22.02.2019 16:12

@Valay, можно ли предоставить мне скрипку?

User863 22.02.2019 16:19

Давайте продолжить обсуждение в чате.

User863 22.02.2019 16:21
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
0
12
131
0

Другие вопросы по теме