Ajax:script.aculo.usでもモーショントゥイーン

志田です。

先日、@ITに書かせていただいた、

第4回 Ajaxの弱点を補うscript.aculo.usの楽しいエフェクト(1/4) ─ @IT


が公開されました。
これで、「パターンとライブラリで作るAjaxおいしいレシピ(4)」の連載も

 ・第1回 jQueryを使ってTwitterをおいしくマッシュアップ (1/4) ─ @IT
 ・第2回 prototype.jsでYouTubeをインクリメンタルサーチ (1/3) ─ @IT
 ・第3回 Ext JSとprototype.jsで作るリッチなUI(1/4) ─ @IT
 
と、4回書かせていただきました。ご興味がありましたら是非、読んでみてください。

■本題
宣伝はさておき、今回の本題ですが、

第4回 Ajaxの弱点を補うscript.aculo.usの楽しいエフェクト(1/4) ─ @IT」でもとりあげた、script.aculo.usによるモーショントゥイーンを実現するプログラムを、ダウンロードできるようにしました。

■デモ
script.aculo.usでこういうエフェクトができるようになります。
横方向、縦方向、それぞれのプルダウンの値を変更すると動き方が変わります。

横方向:
縦方向:

 ダウンロード: easing_functions_for_scriptaculous.js (9.2KB)

このプログラムは、舘野さん(id:secondlifeさん)のJSTweenerのeasing関数を、script.aculo.usのtransitionの仕様に合うように移植したものです。

現状、いくつかのeasing関数はまだ移植できていません。移植済みのeasing関数は下記のものです。

 ・easeNone
 ・easeInQuad
 ・easeOutQuad
 ・easeInOutQuad
 ・easeInCubic
 ・easeOutCubic
 ・easeInOutCubic
 ・easeOutInCubic
 ・easeInQuart
 ・easeOutQuart
 ・easeInOutQuart
 ・easeOutInQuart
 ・easeInQuint
 ・easeOutQuint
 ・easeOutSine
 ・easeInOutSine
 ・easeInExpo
 ・easeOutExpo
 ・easeInCirc
 ・easeOutCirc
 ・easeInBack
 ・easeOutBack
 ・easeOutBounce

まだ結構未移植のものがあるのですが、忙しくなって来たのでとりあえず公開をさせていただきました。
反響があれば残りも移植していきたいと思います。


■利用の仕方

このプログラムをダウンロードして、prototype.jsやscript.aculo.usを読み込むのに加えて、<script>タグでこのプログラムも読み込ませます。

<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="easing_functions_for_scriptaculous.js"></script>

あとは、通常のtransitionの指定の仕方と同じで、下記のように指定できます。

new Effect.Move($('target'),
{x: x,
y: y,
transition: Effect.Transitions.easeOutBounce});

■ライセンス
JSTweenerと同じ、MIT Lisenseです。


よろしければご利用ください。