[英]disable scroll body when menu is open wordpress
我在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(function(lockScroll) {
if (jQuery('body').hasClass('lock-scroll')) {
jQuery('body').removeClass('lock-scroll');
}
else {
jQuery('body').addClass('lock-scroll');
}
});
我不確定您的情況下“開放”意味着什么。 這段代碼最有可能做正確的事或將您推向正確的方向:
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
添加lock-scroll
類(第一部分)。 在#menuToggle
外部單擊鼠標后,它將被刪除(第二部分)。
這樣,單擊時可以禁用滾動
<script>
jQuery('#menuToggle').click( function(){
jQuery( 'body' ).addClass( 'lock-scroll' );
});
</script>
再次單擊該如何刪除班級?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.