javascript - 滚动页面时背景图像上的视差滚动

标签 javascript jquery html css parallax

我被视差问题困住了,似乎无法找到我想要的具体内容。

我的页面顶部有背景图片。我目前有 background-position: fixed 所以它有视差效果但是我需要这个图像随着页面滚动而滚动吗? ...现在我卡住了。

我相信这可以用 JavaScript 和可能的 background-position: scroll 来完成,但我只是不知道从哪里开始。

在我的基本 fiddle 中,您可以看到视差效果,但我需要图像随着页面滚动而滚动。

感谢您的帮助。

.image {
  height: 100px;
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-image: url('http://www.navipedia.net/images/a/a9/Example.jpg');
}
<section>
  <p>"Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo."</p>
</section>

<div class="image"></div>

<section>
  <p>"Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta."</p>

  <br><br>
  
<p>"Sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est."</p>
</section>

最佳答案

此功能将为您完成工作。 (根据您的选择更改速度变量的值)

(function(){

  var parallax = document.querySelectorAll(".image"),
      speed = 0.5;

  window.onscroll = function(){
    [].slice.call(parallax).forEach(function(el,i){

      var windowYOffset = window.pageYOffset,
          elBackgrounPos = "50% " + (windowYOffset * speed) + "px";

      el.style.backgroundPosition = elBackgrounPos;

    });
  };

})();

查看实际效果:https://jsfiddle.net/ksugkmoh/

关于javascript - 滚动页面时背景图像上的视差滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41944740/

相关文章:

javascript - 如何使用 require js shim 加载 google map 依赖项?

javascript - 在 .keypress 和删除上应用 CSS 和删除 CSS

javascript - HTML如何立即包含来自其他htm文件的HEAD标签或CSS

javascript - Angularjs 组合框键值

javascript - 为什么模板 div 在 afterRender 中显示为 ":hidden"?

Javascript 动态 anchor 参数

javascript - 使用javascript在html上绘制矩形

ruby-on-rails - Ruby on Rails CarrierWave gem 是否可以与 Ajax 配合使用?

javascript - 使用 getBoundingClientRect() 问题计算边界框 swift top, left

javascript - Jquery 在变量中切换元素