菜单打开wordpress时禁用滚动体

问题描述 投票:0回答:3

我在wordpress中的菜单有以下代码:

<nav role='navigation'>
    <div id="menuToggle" onclick="lockScroll()" >
        <input type="checkbox"  />
        <span></span>
        <span></span>
        <span></span>
        <ul id="menu">
            <?php
            wp_nav_menu( array(
                'theme_location' => 'menu-1',
            ) );
        ?>
        </ul>
    </div>
</nav>

这个jQuery函数在单击#menuToggle时禁用体内滚动:

<script>
    jQuery(function(lockScroll) {
        if ($('body').hasClass('lock-scroll')) {
            $('body').removeClass('lock-scroll');
        }
        else {
            $('body').addClass('lock-scroll');
        }
  });
</script>

但它总是给我错误

未捕获的TypeError:$不是HTMLDocument中的函数。

javascript wordpress menu onclick
3个回答
0
投票

我不完全确定在你的情况下'开放'意味着什么。这段代码很可能做正确的事情或推动你朝着正确的方向:

jQuery( '#menuToggle' ).click( function() {

    jQuery( 'body' ).addClass( 'lock-scroll' );

} );

jQuery( document ).on( 'mousedown', function( e ) {

    var c = jQuery('#menuToggle');

    if( !c.is( e.target ) && c.has( e.target ).length === 0 ) {

        jQuery( 'body' ).removeClass( 'lock-scroll' );

    }


} );

如果单击#menuToggle,则添加lock-scroll类(第一部分)。一旦你点击#menuToggle外面它将被删除(第二部分)。


0
投票

请试试这个: -

jQuery(function(lockScroll) {
        if (jQuery('body').hasClass('lock-scroll')) {
            jQuery('body').removeClass('lock-scroll');
        }
        else {
            jQuery('body').addClass('lock-scroll');
        }
  });

0
投票

这样,a可以在单击时禁用滚动

<script>
    jQuery('#menuToggle').click( function(){

    jQuery( 'body' ).addClass( 'lock-scroll' );
        });

    </script>

如何再次点击时删除课程?

© www.soinside.com 2019 - 2024. All rights reserved.