プログラミング

jQuery UIの表示・非表示時に適用できるアニメーション

jQueryの基本的なアニメーションメソッドとそれぞれの効果」で紹介した中にあるshow・hide・toggleメソッドを使って要素を表示させたり非表示にしたりするときに、いろいろなアニメーションを適用することができます。

次の例で、適用できるアニメーションを選択して実行を押すと、どのような効果があるか確認することができます。

See the Pen effect by KUBO (@KUBOGEN) on CodePen.

HTML
<select id=”effect”>
 <option value=”blind”>Blind</option>
 <option value=”bounce”>Bounce</option>
 <option value=”clip”>Clip</option>
 <option value=”drop”>Drop</option>
 <option value=”explode”>Explode</option>
 <option value=”fade”>Fade</option>
 <option value=”fold”>Fold</option>
 <option value=”highlight”>Highlight</option>
 <option value=”puff”>Puff</option>
 <option value=”pulsate”>Pulsate</option>
 <option value=”scale”>Scale</option>
 <option value=”shake”>Shake</option>
 <option value=”size”>Size</option>
 <option value=”slide”>Slide</option>
</select>
<input type=”button” value=”実行” id=”run” />
<div id=”box”></div>
CSS
#box {
 width: 100px;
 height: 100px;
 background-color: red;
 margin-top: 10px;
}
JavaScript
$(function() {
 $(‘#run’).click(function() {
  $(‘#box’).toggle($(‘#effect’).val(), 3000);
 });
});

エフェクトと指定できる値

アニメーションのエフェクトと指定できる値は次の通りです。

エフェクト名・概要 オプション名・概要 デフォルト値
blind 上下(左右)にブラインドを開け閉めするように direction 要素を非表示にするときの方向(up・down・left・right・vertical・horizontal) up
bounce バウンドするように distance バウンドの最大距離(px) 20
times バウンドの回数 5
clip 中央から上下(左右)に開け閉めするように direction 開閉の方向(vertical・horizontal) vertical
drop 指定方向にスライドしながらフェードイン・フェードアウト direction スライドの方向(up・down・left・right) left
explode かけらが集まるように表示・爆発するように非表示 pieces 分かれるかけらの数 9
fade フェードイン・フェードアウト
fold 左右→上下に折りたたむように開く・閉じる size 最初に折りたたまれたときの幅(高さ) 15
horizFirst 最初に左右に折りたたむか false
highlight ハイライトのように光った後で元の色に color ハイライトの色 #ffff99
puff ふわふわと膨らむように・膨らみが元のサイズに percent 膨らむ度合い 150
pulsate 点滅 times 点滅の回数 5
scale 拡大・縮小 direction 拡大・縮小の方向(both・vertical・horizontal) both
origin 消える・現れる位置(top・middle・bottom・left・center・right) [“middle”,”center”]
percent 拡大する割合
shake 左右(上下)に揺れる direction 最初に揺れる方向(left・right・up・down) left
distance 揺れる幅 20
times 揺れる回数 3
size 指定のサイズに要素を変更 to サイズ変更後のサイズ
origin 基点となる位置(top・middle・bottom・left・center・right) [“top”,”left”]
slide 左から右に(上から下に)スライドするように direction スライド方向(left・right・top・bottom)
distance スライドする距離 対象の要素のサイズによる
$(対象の要素).show(エフェクト [,オプション] [時間] [コールバック関数])
$(対象の要素).hide(エフェクト [,オプション] [時間] [コールバック関数])
$(対象の要素).toggle(エフェクト [,オプション] [時間] [コールバック関数])

effectメソッドについて

show・hide・toggleメソッドは要素の表示・非表示に使いますが、effectメソッドを使うと、表示・非表示とは切り離してエフェクトを適用させることができます。

ただし、blind・clip・drop・explode・fold・puffは、エフェクトそのものが要素を非表示にするという意味を持っているため、結果的にhideメソッドと同じような動きになってしまいます。

なのでshakeとか、他のエフェクトで試してみてください。要素が非表示にならずに、エフェクトだけ適用されます。

See the Pen effect2 by KUBO (@KUBOGEN) on CodePen.

Leave a Comment