jQuery平滑滚动定位不起作用

时间:2014-11-17 09:05:22

标签: jquery position smooth-scrolling

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

$(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名”应该有用,但它不会...... 有人有想法吗? 感谢

1 个答案:

答案 0 :(得分:1)

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

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

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

语法

parseInt(string, radix);
  • 字符串:要解析的值。如果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;
        });
    });
});