jquery - 一个 div 的 jQuery 视差滚动

标签 jquery html css google-chrome parallax

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

$(window).scroll(function () {

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

});

它工作正常,但有一个异常(exception),我的 div 有“top:200px”,据我所知,我第一次滚动时它会将 top 重置为 0,然后以正确的方式进行操作。这是演示,因此您可以看到为什么它看起来不正常,不要介意“黑色世界”剪辑,它现在只是一个占位符。当您第一次滚动时,您会注意到“跳转”到 top:0。有没有办法不让它发生?

http://klaunfizia.pl/damian/

最佳答案

你在你的行中设置绝对 y 位置

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

需要根据div的起始位置进行调整

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

关于jquery - 一个 div 的 jQuery 视差滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20128027/

相关文章:

javascript - 如果未选中所有复选框,如何显示警报?

javascript - 用户点击搜索按钮后 map 不显示错误在哪里?

javascript - 如何获取 FullCalendar v5 的 eventContent 中的元素并将其分配给提示?

javascript - 调用没有元素的 javascript 函数

ruby-on-rails - CSS 字体神秘 (4me) 问题

javascript - jQuery 通知插件点播功能不起作用

javascript - 是否可以在特定条件下注册点击事件?

jquery - 如何使用 freetile.js 居中元素?

javascript - 像素和浏览器与我的 jQuery 效果有关的小问题

jQuery - 页面上的所有元素都数组