2006年 08月 30日

腸簡単☆あなたも作れる MochiKit.Visual

MochiKit.Visual.EffectName = function (element, options) {
        this.__init__(element, options);
};

MochiKit.Visual.EffectName.prototype = new MochiKit.Visual.Base();

MochiKit.Base.update(MochiKit.Visual.EffectName.prototype, {
        __init__: function (element, /* optional */options) {
                /* てきとうに初期化するよ☆ */
                var b = MochiKit.Base;
                var d = MochiKit.DOM;
                this.element = d.getElement(element);
                options = b.update({
                        from: 0.0,
                        to: 1.0,
                }, options || {});
                this.start(options);
        },

        setup : function () {
                /*   */
        },
        update: function (pos) {
                /* pos には、エフェクトの進行に応じて 0.0 - 1.0 (指定した値) が入るよ☆ */
        },
        
        finish : function () {
                /*  */
        }
});

script.aculo.us 読んだことないんですgtlt

resize

MochiKit.Visual.Size = function (element, options) {
        this.__init__(element, options);
};

MochiKit.Visual.Size.prototype = new MochiKit.Visual.Base();

MochiKit.Base.update(MochiKit.Visual.Size.prototype, {
        __init__: function (element, /* optional */options) {
                var b = MochiKit.Base;
                var d = MochiKit.DOM;
                this.element = d.getElement(element);
                this.odim = getElementDimensions(this.element);
                this.element.originalDimension = this.odim;
                options = b.update({
                        from: 0.0,
                        to: 1.0,
                }, options || {});
                this.sizeW = (typeof options.dim.w != "undefined") ? options.dim.w - this.odim.w : 0;
                this.sizeH = (typeof options.dim.h != "undefined") ? options.dim.h - this.odim.h : 0;
                this.start(options);
        },

        update: function (pos) {
                var s = this.element.style;
                s.width  = this.odim.w + this.sizeW * pos + "px";
                s.height = this.odim.h + this.sizeH * pos + "px";
        }
});