我怎么能在这个脚本上添加类

时间:2015-01-13 09:49:44

标签: javascript jquery scrolltop

我在我的项目中使用了这个脚本,一个页面带有滚动。现在我的问题是每次页面滚动的确切部分标题总是被我的固定菜单隐藏。以下是脚本

$('a[href*=#]:not([href=#])').click(function() {
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') 
        || location.hostname == this.hostname) {

        var target = $(this.hash);
        target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
           if (target.length) {
             $('html,body').animate({
                 scrollTop: target.offset().top
            }, 1500,'easeInOutExpo');
            return false;
        }
    }
});

希望你们能帮助我。 非常感谢!

1 个答案:

答案 0 :(得分:1)

  

在应用scrollTop

时,您需要考虑固定标题的高度

如果我的评论不够清楚,请试试。

$('a[href*=#]:not([href=#])').click(function() {
// does the pathname of this link match that of the current location.pathname?
var activeLink = (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,''));

if (activeLink || location.hostname == this.hostname) {

    var target = $(this.hash);

    target = target.length ? target : $('[name=' + this.hash.slice(1) +']');

    if (target.length) {

         // here we will take into account the height of #navbar
         var offset = target.offset().top + $('#navbar').height();

        $('html,body').animate({
             scrollTop: offset // apply our new offset
        }, 1500,'easeInOutExpo');

        return false;
    }
}

});