animate()命令は、任意のCSSプロパティの
値を徐々に変更して、独自のアニメーションを作成できる命令です。
括弧内にはCSSプロパティ、アニメーションのスピード、
動き(easing)、コールバック関数を指定します。
$( セレクター ).animate( 値を変更したいCSSプロパティ,
スピード,動き,コールバック関数 )
animate()に設定できるプロパティは、width,opacityのように
数値(px,em,%)で表現できるものに限ります。
colorのように数値以外の物で指定するプロパティには、
この命令は動きません。
書き方はCSS()で複数のCSSプロパティを同時に設定する場合と
同じで、プロパティ名と値を「:」コロンで繋ぎ
「"」ダブルクォーテーションで囲みます。複数のプロパティは
グループセレクターのように「,」カンマで繋げます。
動きには「linear」/「swing」を設定できます。
linearは常に一定の速度で、swingははじめはゆっくり
後からはやい速度で変化をつけながら値を変更します。
実行結果はこちらです。画像をクリックすると、画像がスライドします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title>jQueryStudy</title> <style> *{margin:0;padding:0;} p{ width:1280px; height:480px; } div{ width:640px; height:480px; overflow:hidden; } </style> <script src="js/jquery-1.11.3.js"></script> </head> <body> <div><p> <img src="img/image2.jpg" alt="宇宙" id="cosmo"><img src="img/image3.jpg" alt="桜" id="sakura"> </p></div> <script> $(function(){ $("#cosmo").click(function(){ $("p:not(:animated)").animate({ "margin-left" : "-640px" },"slow","swing"); }); $("#sakura").click(function(){ $("p:not(:animated)").animate({ "margin-left" : "0" },"slow","swing"); }); }); </script> </body> </html> |