Не открываются внутренние и внешние ссылки

seo3_Kul
На сайте с 25.10.2010
Offline
137
179

Подскажите, на сайте меню организованно так что в нем есть якоря, внутренние и внешние ссылки:

<div class="socials">
<a href="#plus">
Наши преимущества
</a>
<a href="https://www.mos.ru/otvet-transport/chto-delat-v-sluchae-dtp/">
Порядок действий
</a>
<a href="/contacts.html">
Наши контакты
</a>
</div>
При этом ссылка якорь перебрасывает внутри страницы, а вот при нажатии на внутреннюю или внешнюю ссылку просто ничего не происходит.

Отладчик в браузере ругается на строку:
, top = $(id).offset().top;
Сам js скрипт при этом выглядит как:
        $('.burger-btn').on('click', function() {
                $('.burger-btn').toggleClass("active");
                $('.header-contacts').toggleClass("active");
          });

        $('.socials a').on('click', function(event) {
                $('.socials a').removeClass("active");
                $(this).addClass("active");

                event.preventDefault();
                var id = $(this).attr('href')
                , top = $(id).offset().top;
                $('body,html').animate({
                scrollTop: top
                }, 1000); // время, за которое будет осуществлена прокрутка.

                $('.burger-btn').trigger('click');
        });
Если полностью скрипт убрать, то ссылки работают, но прокрутка становится не плавной. Хотелось бы, чтобы прокрутка осталась плавной, но и остальные ссылки, чтобы работали. Есть у кого нибудь мысли, как исправить?


Продвижение и раскрутка сайтов!
W1
На сайте с 22.01.2021
Offline
286
#1
seo3_Kul :
Отладчик в браузере ругается на строку:

Уберите перенос строки перед этой строкой.

Мой форум - https://webinfo.guru –Там я всегда на связи
W1
На сайте с 22.01.2021
Offline
286
#2
seo3_Kul :
и остальные ссылки, чтобы работали. Есть у кого нибудь мысли, как исправить?

Переписать этот скрипт в  соответствии с необходимыми действиями. Такое впечатление, что его писали не под ту структуру, которая сейчас на странице. Блокируется переход по ссылкам инструкцией

event.preventDefault();

(если вас это интересует), но смысл всего скрипта при этой структуре непонятен.

seo3_Kul
На сайте с 25.10.2010
Offline
137
#3
webinfo #:
Уберите перенос строки перед этой строкой.
var id = $(this).attr('href'), top = $(id).offset().top;
то есть так? не помогло, ругается на эту строчку теперь
webinfo #:
Переписать этот скрипт в  соответствии с необходимыми действиями. Такое впечатление, что его писали не под ту структуру, которая сейчас на странице. Блокируется переход по ссылкам инструкцией
что то не хватает знаний...
W1
На сайте с 22.01.2021
Offline
286
#4
seo3_Kul #:
ругается на эту строчку теперь

Ну правильно. Потому что не может быть offset у атрибута. Переписывать скрипт надо. Он непоймичего делает.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий