JavaScriptエフェクトの簡単なスタンドアロン機能としてのmoo.fx.js

私の開発では、自己記述のJSフレームワークを使用します。 そして、先日、スムーズなアニメーションで機能を実装する必要がなかった場合、すべてがうまくいきます。 3つのシナリオが思い浮かびます:
  1. アニメーションに必要なものすべてをjQueryに似たフレームワークから取得しようとします(これはかなり時間がかかるタスクであることが判明しました)
  2. 自分で機能を書くことができます(一部のブラウザではアーキテクチャを十分に検討していないか、十分にテストされていないリスクがあります)
  3. 効果を持つ独立した基本クラスを見つける
私にとっては、オプション3が最適です。 そして、私はmoo.fxに出くわしました ... =)



驚いたことに、検索エンジンフレームワークmoo.fx.jsは何も提供しなかったため、このトピックの主な目的はそれに注目することです。 開発者にとって、moo.fxは、流体アニメーションを使用してアプリケーションを作成するための超軽量のバックボーンです。 その主なタスクは、より複雑なエフェクトを作成するための基本的なアーキテクチャとインターフェイスを開発者に提供することです。



2番目のバージョンのmoo.fxの使用に関する十分なドキュメントと例が見つからなかったため、moo.fx形式自体について簡単に説明することにしました。 開発者はValerio Proietti( mootoolsのリード開発者)であるため、エンジンも注目に値します。 Moo.fx自体は、2つの有名なフレームワークmootoolsprototypeで使用するために作成されました。 ここでは、mootoolsの使用例を検討しません(最も軽量のスタンドアロンソリューションを探しているため)。 実際、prototype.js全体を接続する必要はありません。moo.fxを機能させるには、prototypeフレームワークのmoo.fx配信に含まれるいわゆるprototype.lite.jsを接続する必要があります。 prototype.lite.jsの存在は非常に楽しいです。これは、2つのファイルのみを接続することでエフェクトエンジンを使用できるようになったためです。

<script type= "text/javascript" src= "prototype.lite.js" ></script><!-- ~3-4 KB -->

<script type= "text/javascript" src= "source/moo.fx.js" ></script><!-- ~3-4 KB -->




* This source code was highlighted with Source Code Highlighter .






prototype.jsを操作するためのmoo.fx.js配信セット

  1. prototype.lite.js(必須) -moo.fx.jsまたはprototype.jsのフルバージョンを操作するために特に必要となるprototype.jsの簡略版
  2. moo.fx.js(必須) -エフェクトの基本アーキテクチャ

    詳細が続きます。

    ここでは、moo.fx.jsの使用例を見ることができます

  3. moo.fx.pack.js(オプション) -追加の効果を含む拡張機能

    -スクロールコントロール( Fx.Scroll

    -カラー管理( Fx.Color

    -追加の関数rgbToHex(配列)およびhexToRgb(配列)

    ここでは、moo.fx.pack.jsの使用例を見ることができます

  4. moo.fx.utils.js(オプション)-DOM要素の高さ、幅、透明度をアニメーション化するための拡張機能。 トグル()メソッドがすべての場合に期待どおりに動作しないことに注意してください。 幅/高さのスタイル属性を設定すると問題が始まります。 一方、この追加機能はスペースをほとんど占有せず、ニーズに合わせて簡単に調整できます。

    -高さ制御( Fx.Height )[合計2つの方法:トグル()、ショー()]

    -幅制御( Fx.Width )[合計2つの方法:トグル()、ショー()]

    -透明度管理( Fx.Opacity )[合計2つの方法:トグル()、ショー()]

    ここでは、moo.fx.utils.jsの使用例を見ることができます

  5. moo.fx.accordion.js(オプション) -「アコーディオン」機能( moofx.mad4milk.netページ自体で表示できます
  6. moo.fx.transitions.js(オプション) -fnk。 ロバート・ペナーによるイージング方程式に基づくスムーズな遷移
このリストのメインファイルはもちろんmoo.fx.jsです-エフェクトの基本機能の実装が含まれています。 実際、残りは追加機能を提供する標準プラグイン(アドオン)です。 すべてがmootoolsの精神で美しく行われます今必要なものをプラグインしてください 。 アドオンのインターフェースの簡単な説明はすでに上記で実行されています。アプリケーション自体は添付の例で見ることができます。



moo.fx.js-moo.fxエフェクトの基本機能(フレームワーク)



新しいエフェクトを作成するとき、デフォルトで次のように設定されるオプションを変更できます。

setOptions: function (options){

this .options = Object.extend({

onStart: function (){}, //

onComplete: function (){}, //

transition: Fx.Transitions.sineInOut, // ( )

duration: 500, //

unit: 'px' , //

wait: true , // ?

fps: 50 // : Math.round(1000/this.options.fps)

}, options || {});

}




* This source code was highlighted with Source Code Highlighter .






最初にwait、onStart()、onComplete()パラメータがアーキテクチャに組み込まれていると非常に便利だと思います。これにより、複雑なエフェクトとそのキューを作成できます。



moo.jsには2種類のエフェクトがあります。
  1. 単一のプロパティを操作する[新しいFx.Styleで作成(el、property、options)]
  2. 複数のプロパティを同時に変更する[新しいFx.Styles(el、オプション)で作成]
新しく作成されたエフェクトの主な「パブリック」メソッドは、当然次のことに起因します。 このトピックでは、moo.fxの機能を完全にレビューしたくありませんでしたが、フレームワークの機能とアーキテクチャを一般的な用語で概説することのみを試みました。 結論として、この「軽量」フレームワークの最新バージョン(2.0)のアーキテクチャが気に入ったことに注目したいと思います。 そして、他の自作機能と組み合わせて独立した(スタンドアロンの)効果モジュールとして使用するとともに、プラグインの一部を作成して機能をさらに拡張する予定です。



便利なリンク:

PS、あまり「苦しめないでください」、この最初のトピックが最後の=にならないようにしたいと思います。



All Articles