jQuery平滑滚动定位不起作用



我想为我的导航链接使用平滑滚动,但我有一个固定的导航,所以我必须稍微改变一下着陆位置。现在我在这个论坛中找到了答案,它看起来像这样:

$(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-100
        }, 900, 'swing', function () {
            window.location.hash = target;
        });
    });
});

"前 100 名"应该有效,但它就是不......有人有想法吗?谢谢

使用

partseInt 在浏览器中始终使用 int 值。

'scrollTop':  parseInt($target.offset().top,10);

parseInt() 函数解析字符串参数并返回指定基数或基数的整数。

语法

parseInt(string, radix);
  • 字符串:要解析的值。如果字符串不是字符串,则将其转换为字符串。
  • 基数
  • :一个介于 2 和 36 之间的整数,表示上述字符串的基数
<小时 />

jQuery

$(document).ready(function(){
    $('a[href^="#"]').on('click',function (e) {
        e.preventDefault();
    
        var target = this.hash;
        $target = $(target);
    
        $('html, body').stop().animate({
            'scrollTop':  parseInt($target.offset().top,10)
        }, 900, 'swing', function () {
            window.location.hash = target;
        });
    });
});

最新更新