试图在移动菜单上停止滚动,而不是让它在关闭后重新开始。不确定如何逆转停止范围和预防默认不足。
function scrollFixMobile() {
if ($('body').hasClass('mobile-menu')) {
document.body.addEventListener('touchmove', function(e) {
e.preventDefault();
e.stopPropagation();
}, false);
} else {
}
}
下面的开发链接
http://www.alexcoven.com/dev/element
尝试单独使用CSS,以防止使用overflow: hidden;
上的CC_1滚动。
$("#mobileMenu").click(function() {
$("body").toggleClass("mobile-menu");
});
.mobile-menu {
overflow: hidden;
padding-right: 15px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="mobileMenu">Menu</button>
<div class="container">Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>Test</br>
</div>