スクロール系のアニメションをやってみよう

スクロールの書き方

$("セレクタ").scroll(function(){
  ~スクロールされる度に行う処理~
});

どれだけスクロールしたのか取得してみよう

↓↓↓スクロールしてみて

スクロール値:

scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!

使っているメソッド

.text(); => 指定した要素に文字列を入れることが出来る(元からあった文字は削除されます。)
.scrollTop(); => 指定した要素の上からのスクロール値

html部分
    <html>
    <head>
      <meta charset="UTF-8">
      <link rel="stylesheet" href="./css/style.css">
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    </head>

      <body>
        <p class="text">
          <i class="fa fa-caret-right"></i>↓↓↓スクロールしてみて<br>
        </p>

        <div class="sample scroll">
          <div id="scrollVal">スクロール値:</div><br>
          <div id="scroll1">
          scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>
          </div>
        </div>
       </body>
    </html>
jQuery部分
    $(function(){
      $("#scroll1").scroll(function(){
        $("#scrollVal").text("スクロール値:"+$(this).scrollTop());
      });
    });

500以上スクロールされたら文字色を変えてみよう

↓↓↓スクロールしてみて

スクロール値:

scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
scroll!
html部分
    <html>
    <head>
      <meta charset="UTF-8">
      <link rel="stylesheet" href="./css/style.css">
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    </head>

      <body>
        <p class="text">
          <i class="fa fa-caret-right"></i>↓↓↓スクロールしてみて<br>
        </p>

        <div class="sample scroll2">
          <div id="scrollVal2">スクロール値:</div><br>
          <div id="scroll2">
          scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>scroll!<br>
          </div>
        </div>
       </body>
    </html>
jQuery部分
    $(function(){
      $("#scroll2").scroll(function(){
        $("#scrollVal2").text("スクロール値:"+$(this).scrollTop());
        if($(this).scrollTop() > 500){
          $(this).css("color","blue");
        }else{
          $(this).css("color","#777");
        }
      });
    });

if()~って?

if分はもしも~ならば~するという条件分岐できる文です。
上記の場合なら、#scroll2のスクロール値が500pxを超えたらcssにblueを追加するとなります。
条件に当てはまらなかった場合は、else{}の中に記述します。

スクロールで一番上まで戻ってみよう

ボタンクリックで一番ページの一番上までスクロールで戻る

html部分
    <html>
    <head>
    </head>

      <body>
        <div class="sample">
          <button class="hover-btn" id="scroll3">一番上に!</button>
          </div>
        </div>
      </body>
    </html>
jQuery部分
    $(function(){
      $("#scroll3").click(function(){
        $("body,html").animate({
          scrollTop : 0
        },1000);
      });
    });