Uizeの基本的な使い方(その2)
前回扱ったUize.Fadeクラスを簡単にまとめてみます。
new Uize.Fadeでインスタンスを作成し、startメソッドでフェードを開始する。
var f = new Uize.Fade({ startValue: 0, endValue: 100, duration: 2000 });
f.start();
インスタンスを作成後、setメソッドで後から設定することも可能。
var f = new Uize.Fade();
f.set({ startValue: 0, endValue: 100, duration: 2000 });
また、startメソッドの引数に渡す方法もある。
f.start({ startValue: 0, endValue: 100, duration: 2500 });
設定可能なプロパティ
startValue: スタート時の値、数値もしくはオブジェクト(ハッシュ)形式で。
endValue: 終了時の値、同じく数値もしくはオブジェクト(ハッシュ)形式。
duration: フェード時間。ミリ秒単位で。
quantization: フェードの変化値。オブジェクト(ハッシュ)形式でも設定可。デフォルトでは浮動小数点数に。
reverse: trueにするとフェード効果を逆転させる。
curve: フェードでの遷移の仕方を決める。scriptaculousのtransitionオプションに似ている。デフォルトは直線的(linear)なのでそのままではあまり自然な動きではない。
Uize.Fade.celeration(acceleration, deceleration)
curveオプションにはUize.Fade.celerationメソッドの返り値を入れます。Uize.Fade.celerationはフェード開始時の加速度(0.0-1.0)と、フェード終了時の減速度(0.0-1.0)を引数に渡します。
例: Uize.Fade.celeration(0.25, 0.50);
⇒
視覚的なカーブ曲線のグラフ
Uize.Fadeクラスによる記述はやや煩雑ですが、Uize.Fxクラスを使うことで、もっと簡単に記述することができます。CSSプロパティの数値を遷移させる従来のエフェクトなら、Uize.Fxクラスを利用するのがいいでしょう。
Uize.module ({
required:[
'Uize.Fx',
'Uize.Curve'
],
builder: function(){
Uize.Fx.fadeStyle( //Uize.Fxクラスのメソッド
'elementID', //第1引数に要素のID名
{ width: 20, height: 20 }, //第2引数にスタート時のCSSプロパティ
{ width: 200, height:200 }, //第3引数に終了時のCSSプロパティ
2000, //第4引数にフェード時間
{ curve: Uize.Curve.easeInOutPow(4) } //第5引数にその他のプロパティ
);
}
});
⇒
Uize.Fxクラスによるフェードのサンプル
ちなみに、Uize.Fx.fadeStyle()は第2、3引数にnullを渡すことが可能。第2引数をnullにすると、現在設定されているCSSプロパティからフェードがスタートする。第3引数をnullにすると、フェード終了時に現在設定されているCSSプロパティの値で終わる。
Uize.Fx.fadeStyle(
'elementID',
null,
{ width: 200, height:200 },
2000
);
その他、Uize.Fadeクラスの拡張であるUize.Fade.xFactoryを使った、フェードもあります。
ここではスライダー・ウィジェットを例に挙げています。
Uize.module ({
required:[
'Uize.Widget.Page',
'Uize.Fade.xFactory',
'Uize.Widget.Bar.Slider'
],
builder:function () {
//ページ・ウィジェットのインスタンスを作成
var page = window.page = new Uize.Widget.Page;
//スライダー・ウィジェットのインスタンスを作成し、ページ・ウィジェットの子要素に追加する
var slider = page.addChild('slider', Uize.Widget.Bar.Slider,{ minValue: 0, maxValue: 200 });
//ページ・ウィジェットをウェブ上に適用する
page.wireUi();
//先ほど作成したスライダー・ウィジェットにアニメーションをつける
Uize.Fade.fade(slider, 0, 200, 4000);
}
});
⇒
Uize.Fade.fadeのサンプル -
JavaScript/Ajax Ajax, JavaScript, UIZE