Добавьте класс noscroll к телу по нажатию меню

Я использую подчеркивания в качестве начальной темы для Wordpress, и я хотел бы добавить класс noscroll к элементу body, когда кнопка меню открыта, а затем удалить его снова, когда меню закрыто.

Я пытался добавить такого рода вещи...

$('body').addClass('noscroll');

... в существующий файл navigation.js с подчеркиванием. Который выглядит так...

https://github.com/Automattic/_s/blob/master/js/navigation.js

... но я просто не могу найти правильное решение. Любая помощь будет с благодарностью получена и получена!

2 ответа

Решение

Я не рекомендую изменять файл navigation.js, так как это какой-то уже существующий код, который не относится к вашему сайту.

Что вы можете сделать, так это попробовать поставить свой собственный скрипт в файл functions.php темы следующим образом:

function wpse39838169_addNoScroll() { ?>
<script>
$(".MENUBUTTONCLASS").on("click", function(e) {
    $('body').addClass('noscroll');
});
</script>
<?php }
add_action('wp_enqueue_scripts','wpse39838169_addNoScroll');

Замените "MENUBUTTONCLASS" классом кнопки, по которой вы будете нажимать.

Спасибо, Спартак, ты поставил меня на правильный путь. Я провел некоторое тестирование и обнаружил, что следующий код добавляет / удаляет класс 'noscroll' к телу при нажатии кнопки...

jQuery(document).ready(function($){
    $(".menu-toggle").click(function () {
      $('body').toggleClass('noscroll');
    });
});

... и я поставил вышеупомянутый код в файл Wordpress functions.php, используя обычный файл javascript обычным способом.

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