前回の基礎エフェクトの解説に引き続いて,
このような複雑でドラマチックなエフェクトが,
基礎エフェクトを組み合わせてできる15種類の複合エフェクト
Effect. | フェードアウトするエフェクト | Effect. | フェードインするエフェクト | Effect. | ホワッと消えるエフェクト | Effect. | すだれを上げるようなエフェクト | Effect. | すだれを降ろすようなエフェクト | Effect. | テレビのスイッチを切るように消えるエフェクト | Effect. | ポロリと落ちるように消えるエフェクト | Effect. | ブルブルと左右に震えるエフェクト | Effect. | お店のシャッターを降ろすようなエフェクト | Effect. | お店のシャッターを上げるようなエフェクト | Effect. | 縮小して消えるエフェクト | Effect. | 飛び出すように拡大して現れるエフェクト | Effect. | 吸い込まれるように縮小して消えるエフェクト | Effect. | 透明と不透明の間で点滅するエフェクト | Effect. | 縦に縮んだあと, |
---|
それでは前回の続きからコードを見ていきましょう。
Effect. Fade
0526:/* ------------- combination effects ------------- */
0527:
0528:Effect.Fade = function(element) {
0529: element = $(element);
0530: var oldOpacity = element.getInlineOpacity();
0531: var options = Object.extend({
0532: from: element.getOpacity() || 1.0,
0533: to: 0.0,
0534: afterFinishInternal: function(effect) {
0535: if (effect.options.to!=0) return;
0536: effect.element.hide().setStyle({opacity: oldOpacity});
0537: }
0538: }, arguments[1] || { });
0539: return new Effect.Opacity(element,options);
0540:};
0541:
526~541行目のEffect.
530行目で,
532行目で,
533行目で,
534行目で,
536行目の、hideメソッドとsetStyleメソッドのチェーンが美しいです。
539行目で,
Effect. Appear
0542:Effect.Appear = function(element) {
0543: element = $(element);
0544: var options = Object.extend({
0545: from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0),
0546: to: 1.0,
0547: // force Safari to render floated elements properly
0548: afterFinishInternal: function(effect) {
0549: effect.element.forceRerendering();
0550: },
0551: beforeSetup: function(effect) {
0552: effect.element.setOpacity(effect.options.from).show();
0553: }}, arguments[1] || { });
0554: return new Effect.Opacity(element,options);
0555:};
0556:
542~556行目のEffect.
545行目で,
546行目で,
548行目で,
551行目で,
554行目で,