1

我得到了一个带有导航菜单的单页布局,使用#´s 进行导航。我想通过鼠标滚轮/触摸板/键盘完全禁用 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 放在主体上时),要么动画行为奇怪,滚动到错误的方向然后跳转到目标页面,即使用时

$('html, body').css({
'overflow': 'hidden',
'height': '100%'
})

我还尝试混合这些代码以禁用滚动并在单击时重新启用它,然后再次禁用它,这对我不起作用,然后我又对 javascript / jquery 不太了解。有人可以提供一个可行的解决方案吗?

4

0 回答 0