我在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中的函数。
我不完全确定在你的情况下'开放'意味着什么。这段代码很可能做正确的事情或推动你朝着正确的方向:
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
外面它将被删除(第二部分)。
请试试这个: -
jQuery(function(lockScroll) {
if (jQuery('body').hasClass('lock-scroll')) {
jQuery('body').removeClass('lock-scroll');
}
else {
jQuery('body').addClass('lock-scroll');
}
});
这样,a可以在单击时禁用滚动
<script>
jQuery('#menuToggle').click( function(){
jQuery( 'body' ).addClass( 'lock-scroll' );
});
</script>
如何再次点击时删除课程?