单击菜单时jQuery平滑滚动

时间:2015-04-30 15:10:00

标签: jquery

我的jQuery平滑滚动工作时

<a href="#services">Services</a>

但我希望在

时顺畅滚动
<a href="http://website.com/#services">Services</a>

此标记。这可能吗?

我正在使用的jQuery

$('.nav a').click(function(){
    $('html, body').animate({
        scrollTop: $( $.attr(this, 'href') ).offset().top
    }, 500);
    return false;
}); 

1 个答案:

答案 0 :(得分:2)

您可以使用substr()href

中提取目标字符串
$('.nav a').click(function (e) {
    var linkHref = $(this).attr("href");
    var idElement = linkHref.substr(linkHref.indexOf("#"));
    $('html, body').animate({
        scrollTop: $(idElement).offset().top
    }, 1000);
    return false;
});
  

Live exemple