滚动以在div jquery中锚定

时间:2015-08-01 19:04:19

标签: jquery scroll anchor parallax smooth

我在使用固定导航的视差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/

请帮忙。

谢谢。

1 个答案:

答案 0 :(得分:1)

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

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

工作小提琴:http://jsfiddle.net/63hy5urr/3/