jQuery パララックス2

cssのbackground-positionを$(window).scroll(function(){ var dy = $(this).scrollTop(); で操作します。

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <title>パララックスサイト</title>
    <style>
    body {
      margin: 0;
      padding: 0;
      height: 3000px;
    }
    .box {
      padding: 0;
      margin:0;
      height: 340px;
    }
    #bg1 { background: url('p1.jpg') no-repeat; }
    #bg2 { background: url('p2.jpg') no-repeat; }
    #bg3 { background: url('p3.jpg') no-repeat; }
    #msg {
      font-size: 48px;
      font-weight: bold;
      font-family: Verdana, Arial, sans-serif;
      color: orange;
      opacity: 0;
      position: fixed;
    }
    </style>
    <link rel="stylesheet" href="styles.css">
  </head>
  <body>
    <div id="bg1" class="box"></div>
    <div id="bg2" class="box"></div>
    <div id="bg3" class="box"></div>
    <div id="msg" class="box">The End</div>
    <script>
    $(function(){
      $(window).scroll(function(){
        var dy = $(this).scrollTop();
        console.log(dy);

        $('#bg1').css('background-position', '0 '+dy+'px');

        if (dy > 340) {
          $('#bg2').css('background-position', (dy-340)+'px '+(dy-340)+'px');
        } else {
          $('#bg2').css('background-position', '0 0');
        }

        if (dy > 680) {
          $('#bg3').css('background-position', '0 '+(dy-680)*2+'px');
        } else {
          $('#bg3').css('background-position', '0 0');
        }
        if (dy > 680) {
          $('#msg').css('opacity', (dy-680)/340);
          $('#msg').css('top', 200);
          var dx = (dy -680) > 400 ? 400: (dy-680);
          $('#msg').css('left', dx);
        } else {
          $('#msg').css('opacity', 0);
        }

      });
    });
    </script>
  </body>
</html>

%e7%84%a1%e9%a1%8c