Javascript 在菜单上单击“将noscroll类添加到正文”

Javascript 在菜单上单击“将noscroll类添加到正文”,javascript,wordpress,underscores-wp,Javascript,Wordpress,Underscores Wp,我使用下划线作为Wordpress的起始主题,我想在打开菜单按钮时向body元素添加一个“noscroll”类,然后在关闭菜单时再次删除它 我试着添加这种东西 $('body').addClass('noscroll') …指向带有下划线的现有navigation.js文件。看起来像这样 ……但我似乎找不到正确的解决办法。我们将感激您的帮助,并向您学习 我不建议修改navigation.js文件,因为这是一种预先存在的代码,并不特定于您的站点 您可以尝试将自定义脚本排入theme functi

我使用下划线作为Wordpress的起始主题,我想在打开菜单按钮时向body元素添加一个“noscroll”类,然后在关闭菜单时再次删除它

我试着添加这种东西

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

…指向带有下划线的现有navigation.js文件。看起来像这样


……但我似乎找不到正确的解决办法。我们将感激您的帮助,并向您学习

我不建议修改navigation.js文件,因为这是一种预先存在的代码,并不特定于您的站点

您可以尝试将自定义脚本排入theme functions.php文件的队列,如下所示:

function wpse39838169_addNoScroll() { ?>
<script>
$(".MENUBUTTONCLASS").on("click", function(e) {
    $('body').addClass('noscroll');
});
</script>
<?php }
add_action('wp_enqueue_scripts','wpse39838169_addNoScroll');
函数wpse39838169\u addnoscorl(){?>
$(“.MENUBUTTONCLASS”)。在(“单击”上,函数(e){
$('body').addClass('noscroll');
});

谢谢Spartacus,你让我走上了正确的道路。我做了一些测试,发现下面的代码在单击按钮时在正文中添加/删除了“noscroll”类

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

…我以正常方式使用外部javascript文件将上述代码放入Wordpress functions.php文件中。

您是否尝试过
$(“body”).css('overflow','hidden')
?这是一个单行程序,应该可以实现相同的结果。将其设置回“auto”以解锁。太棒了!很高兴您找到了它!