我得到了一个带有导航菜单的单页面布局,使用#来导航。我想通过鼠标滚轮/触摸板/键盘完全禁用scolling,因此用户需要使用菜单。使用菜单进行导航,应使用滚动动画。要创建滚动动画,请使用
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 600, 'swing', function () {
window.location.hash = target;
});
});
});
我尝试了来自How to programmatically disable page scrolling with jQuery的方法,但是他们要么杀死动画(当把noScroll放在身体上时),要么动画行为奇怪,滚动到错误的方向然后跳到目标页面,即使用< / p>
$('html, body').css({
'overflow': 'hidden',
'height': '100%'
})
我也试过混合这些代码来禁用滚动并在点击时重新设置它,然后再次禁用它,这对我不起作用,然后我再也不了解javascript / jquery。有人可以提供有效的解决方案吗?