滚动到锚点 div jquery

Scrolling to anchor in a div jquery

我在使用固定导航平滑滚动到视差 div 中的锚点时遇到了一些问题。

该脚本在页面顶部运行良好,但一旦进入内容,链接就会转向错误的锚点...

我尝试了几个脚本但遇到了同样的问题(从顶部工作正常但从内容失败)。

$(document).ready(function() {
$(".scroll").click(function (e) {
    e.preventDefault();
    if (this.hash) {
        //get rid of hash
        var hash = this.hash.substr(1);

        //get the position of the <a name> 
        var $toElement = $("[id=" + hash + "]");
        var toPosition = $toElement.offset().top;

        //scroll/animate that element
        $(".parallax").animate({
            scrollTop: toPosition
        }, 500);
    }
});

});

代码如下:http://jsfiddle.net/63hy5urr/1/

请帮忙。

谢谢。

您必须使用 scrollTop() 方法检查 .parallax 当前滚动的位置,然后在设置动画时将此值添加到 toPosition

$(".parallax").animate({
    scrollTop: $(".parallax").scrollTop() + toPosition
}, 500);

工作fiddle:http://jsfiddle.net/63hy5urr/3/