あなたのキモチ つなげるカタチ

TOP > jQuery > 【jQuery】スクロール時にスクロールの逆方向へ背景画像を動かすテクニック(background-position-y)/Scroll animate background image position

【jQuery】スクロール時にスクロールの逆方向へ背景画像を動かすテクニック(background-position-y)/Scroll animate background image position

スポンサーリンク

実装内容

スクロール時にスクロールの逆方向へ背景画像を動かすテクニック(background-position-y)を紹介します。

実装所要時間:10分程度

実装方法

body {
  height: 1000px;
}
.block {
  position: relative;
  width: 100%;
  height: 1500px;
}

.bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: url(/img/h.jpg) no-repeat center center;
  background-size: cover;
}
var scrollPos = $(window).scrollTop();
var scrollPrevPos = 0;
var bgPos = 0;

$(window).on("scroll", function() {
  scrollPos = $(window).scrollTop();
  var sectionLablesPos = $(".block").offset().top;
  var sectionLabelsHeight = $(".block").innerHeight();
  var delta = scrollPos - scrollPrevPos;
  if (scrollPos + window.innerHeight > sectionLablesPos && scrollPos < sectionLablesPos + sectionLabelsHeight) {
    console.log(delta);
    if (delta > 0) {
      bgPos = bgPos - 7;
    } else {
      bgPos = bgPos + 7;
    }
  }
    console.log(bgPos);
    $(".bg").stop(true, false).animate({
      "background-position-y": bgPos + "px",
    },1000);
  scrollPrevPos = scrollPos;
});

【簡単な解説】
現在制作中

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です