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

Не работает Jquery на телефоне?

Есть такой кусок кода.
$('.header__link').click(function (event) {
        $('.header__burger,.header__menu').toggleClass('active');
        $('body').toggleClass('lock');

    });

Кратко. Когда в раскрытом бургер меню кликать по ссылке переключает класс, и меню закрываеться, и снимаеться класс lock в котором содержиться
body.lock {
    overflow: hidden;
  }

На ПК все замечательено работает, при клтке меню сворачиваеться, и переход по ссылке. А на телефоне переход не работает. Изза класса lock.(проверял, если этот кусок кода убрать, работает). Почему так?
Если кому интерестно вот полный код.
spoiler
$(document).ready(function () {
    $('.header__burger').click(function (event) {
        $('.header__burger,.header__menu').toggleClass('active');
        $('body').toggleClass('lock');
    });
    $('.header__link').click(function (event) {
        $('.header__burger,.header__menu').toggleClass('active');
        $('body').toggleClass('lock');

    });
});

P/S - зааменить toggleClass на removeClass пытался, так же ничего.
  • Вопрос задан
  • 205 просмотров
Подписаться Простой Комментировать
Решения вопроса 1
Создание div обертки сайта внутри <body> и применение overflow: hidden; к обертке вместо <body> или <html>устраняет проблему.

Оказывается, что браузеры, которые анализируют в <meta name="viewport"> тег просто игнорируют overflow на атрибуты html и body тегах.

Примечание: вам также может понадобиться добавить position: relative; в обёртку div.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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