animateを使っていろいろしてみよう 楽しいよ
animateの書き方
要素を左右に動かしてみよう
ボタンをクリックすると右に動くよ
ボタンをクリックすると左に動くよ
ボタンをクリックすると斜めに動くよ
使っているメソッド
.animate({}); => cssプロパティと組み合わせていろいろなアニメションができる
<html> <head> <meta charset="UTF-8"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <style> #animate2{ margin-left: 300px; } </style> </head> <body> <p class="text"> <i class="fa fa-caret-right"></i>ボタンをクリックすると右に動くよ<br> </p> <div class="sample"> <div class="hover-btn" id="animate">animate!</div> </div> <p class="text"> <i class="fa fa-caret-right"></i>ボタンをクリックすると左に動くよ<br> </p> <div class="sample"> <div class="hover-btn" id="animate2">animate!</div> </div> <p class="text"> <i class="fa fa-caret-right"></i>ボタンをクリックすると斜めに動くよ<br> </p> <div class="sample"> <div class="hover-btn" id="animate3">animate!</div> </div> </body> </html>
$(function(){ $("#animate").click(function(){ $(this).animate({ left : "300px" },1500); }); $("#animate2").click(function(){ $(this).animate({ marginLeft : "30px" },1500); }); $("#animate3").click(function(){ $(this).animate({ left : "300px", top : "50px" },1500); }); });
メソッドチェーンを使って要素を連続で動かしてみよう
ボタンをクリックすると一周して戻ってくるよ
メソッドチェーンについて
メソッドを.(ドット)を使って繋げて使用することを「メソッドチェーン」と呼びます。
メソッドチェーンを使うとメソッドを繋げれるので、いろいろな処理をいっぺんにおこなうことができます。
<html> <head> <meta charset="UTF-8"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> </head> <body> <div class="sample"> <div class="hover-btn" id="animate4">animate!</div> </div> </body> </html>
$(function(){ $("#animate4").click(function(){ $(this).animate({top : "30px"},1500) .animate({left : "300px"},1500) .animate({top : "-30px"},1500) .animate({left : 0},1500) .animate({top : 0},1500); }); });
いろいろしてみよう
ボタンをhoverすると要素の幅が広がる
ボタンをclickするごとに右に進んでいく
ボタンをhoverすると透明になったり戻ったりする
animate時のcssの値の書き方いろいろ
cssプロパティの値が0の時にはダブルクォーテーションは必要ありません。
◯◯づつ変化を加えたいという場合は、「"+=値"」という書き方をします。
使っているメソッド
.stop() => 処理を止めることができます。何回もホバーをすると狂った様に動くのでstop()をanimateの前に付けてあげましょう。
<html> <head> <meta charset="UTF-8"> <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>ボタンをhoverすると要素の幅が広がる<br> </p> <div class="sample"> <div class="hover-btn" id="animate5">animate!</div> </div> <p class="text"> <i class="fa fa-caret-right"></i>ボタンをclickするごとに右に進んでいく<br> </p> <div class="sample"> <button id="animate6">右にすすめ</button> <div class="hover-btn" id="animateRight">animate!</div> </div> <p class="text"> <i class="fa fa-caret-right"></i>ボタンをhoverすると透明になったり戻ったりする<br> </p> <div class="sample"> <div class="hover-btn" id="animate7">animate!</div> </div> </body> </html>
$(function(){ $("#animate5").hover(function(){ $(this).animate({ padding : "50px" },500); },function(){ $(this).animate({ padding : "5px 25px" },500); }); $("#animate6").click(function(){ $("#animateRight").animate({ left : "+=50px" },500); }); $("#animate7").hover(function(){ $(this).animate({ opacity : 0 },500); },function(){ $(this).animate({ opacity : "1" },500); }); });