使用jQuery为一个div进行视差滚动

时间:2013-11-21 17:36:06

标签: jquery html5 css3 google-chrome parallax

我想要实现的是让背景中的一些div比其余的更慢,以产生视差滚动效果。我发现并修改了这段jQuery代码:

$(window).scroll(function () {

    $('.anim').css({
        'top': -($(this).scrollTop() / 3) + "px"
    });

});

它的工作正常,有一个例外,我的div有“top:200px”,据我所知,第一次滚动它会将top重置为0并且正确地执行它。这是演示,所以你可以看到为什么它看起来不错,不介意“黑色世界”切割,它现在只是一个占位符。当您第一次滚动时,您会注意到“跳转”到顶部:0。反正有没有让它发生?

http://klaunfizia.pl/damian/

1 个答案:

答案 0 :(得分:6)

您在行中设置绝对y位置

'top': -($(this).scrollTop() / 3) + "px"

您需要将其调整为div'起始位置

'top': 200-($(this).scrollTop() / 3) + "px"