javascript - 视差效果渲染问题

标签 javascript html css scroll parallax

我正在尝试使用 window.onscroll 和 scrollTop 创建视差效果,但我一直遇到渲染问题,看起来我在渲染视口(viewport)后收到了 onscroll。如你所见from this example (附代码)盒子的移动不稳定且不稳定。

所有基于 WebKit 的浏览器和 FireFox 的行为都是相同的。

JavaScript

$(document).ready(function() {
  $('.box').each(function() {
    $(this).data('y', $(this).offset().top);
  });
});

$(window).scroll(function() {
  var scroll = $(this).scrollTop();

  $('.box').each(function() {
    var parallax = $(this).data('parallax');

    if (parallax) {
      var y = $(this).data('y');
      var offset = (scroll - y) * parallax;

      $(this).css('-webkit-transform', 'translateY(' + offset + 'px)');
    }
  });
});

标记

<div class="red box">Lorem ipsum dolor sit amet.</div>
<div class="green box" data-parallax="0.4">Consectetur adipiscing elit.</div>
<div class="blue box" data-parallax="0.3">Nam consectetur dolor.</div>

最佳答案

只是想知道是否值得使用预制轮子而不是“重新发明”轮子?

http://joelb.me/scrollpath/

关于javascript - 视差效果渲染问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5456615/

相关文章:

javascript - 如何使用原始 Url 和不带查询字符串参数的 Google Content Experiments

javascript - 如何在文本输入中添加拖放区域?

html - ie6 ul.li 悬停

css - 在响应式流动的网站线框上将父项中的子项居中

css - 如何使用 ASP.NET MVC 设计我的 CSS?

html - Bootstrap 行 - 使底部行出现在顶部

html - 从 Bootstrap 面板中删除 CSS 边框

php - 关于eval : How to clean up之恶

javascript - 使用 NextJS 将 SASS 变量导入 Material UI 主题

javascript - 在 Javascript 中访问动态创建的对象