j查询时单击菜单时平滑滚动



我的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;
}); 
您可以使用

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;
});

现场示例

最新更新