⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ajs_fx.js

📁 好东西
💻 JS
字号:
/*Last Modified: 12/05/07 21:03:23AJS effects    A very small effects libraryAUTHOR    4mir Salihefendic (http://amix.dk) - amix@amix.dkLICENSE    Copyright (c) 2006 Amir Salihefendic. All rights reserved.    Copyright (c) 2005 Bob Ippolito. All rights reserved.    Copyright (c) 2006 Valerio Proietti, http://www.mad4milk.net    http://www.opensource.org/licenses/mit-license.phpVERSION    4.05SITE    http://orangoo.com/AmiNation/AJS**/AJS.fx = {    _shades: {0: 'ffffff', 1: 'ffffee', 2: 'ffffdd',              3: 'ffffcc', 4: 'ffffbb', 5: 'ffffaa',              6: 'ffff99'},    highlight: function(elm, options) {        var base = new AJS.fx.Base();        base.elm = AJS.$(elm);        base.options.duration = 600;        base.setOptions(options);        AJS.update(base, {            increase: function(){                if(this.now == 7)                    elm.style.backgroundColor = '#fff';                else                    elm.style.backgroundColor = '#' + AJS.fx._shades[Math.floor(this.now)];            }        });        return base.custom(6, 0);    },    fadeIn: function(elm, options) {        options = options || {};        if(!options.from) {            options.from = 0;            AJS.setOpacity(elm, 0);        }        if(!options.to) options.to = 1;        var s = new AJS.fx.Style(elm, 'opacity', options);        return s.custom(options.from, options.to);    },    fadeOut: function(elm, options) {        options = options || {};        if(!options.from) options.from = 1;        if(!options.to) options.to = 0;        options.duration = 300;        var s = new AJS.fx.Style(elm, 'opacity', options);        return s.custom(options.from, options.to);    },        setWidth: function(elm, options) {        var s = new AJS.fx.Style(elm, 'width', options);        return s.custom(options.from, options.to);    },    setHeight: function(elm, options) {        var s = new AJS.fx.Style(elm, 'height', options);        return s.custom(options.from, options.to);    }}//From moo.fxAJS.fx.Base = new AJS.Class({    init: function(options) {        this.options = {            onStart: function(){},            onComplete: function(){},            transition: AJS.fx.Transitions.sineInOut,            duration: 500,            wait: true,            fps: 50        };        AJS.update(this.options, options);        AJS.bindMethods(this);    },    setOptions: function(options){        AJS.update(this.options, options);    },    step: function(){        var time = new Date().getTime();        if (time < this.time + this.options.duration){            this.cTime = time - this.time;            this.setNow();        } else {            setTimeout(AJS.$b(this.options.onComplete, this, [this.elm]), 10);            this.clearTimer();            this.now = this.to;        }        this.increase();    },    setNow: function(){        this.now = this.compute(this.from, this.to);    },    compute: function(from, to){        var change = to - from;        return this.options.transition(this.cTime, from, change, this.options.duration);    },    clearTimer: function(){        clearInterval(this.timer);        this.timer = null;        return this;    },    _start: function(from, to){        if (!this.options.wait) this.clearTimer();        if (this.timer) return;        setTimeout(AJS.$p(this.options.onStart, this.elm), 10);        this.from = from;        this.to = to;        this.time = new Date().getTime();        this.timer = setInterval(this.step, Math.round(1000/this.options.fps));        return this;    },    custom: function(from, to){        return this._start(from, to);    },    set: function(to){        this.now = to;        this.increase();        return this;    },    setStyle: function(elm, property, val) {        if(this.property == 'opacity')            AJS.setOpacity(elm, val);        else            AJS.setStyle(elm, property, val);    }});AJS.fx.Style = AJS.fx.Base.extend({    init: function(elm, property, options) {        this.parent();        this.elm = elm;        this.setOptions(options);        this.property = property;    },    increase: function(){        this.setStyle(this.elm, this.property, this.now);    }});AJS.fx.Styles = AJS.fx.Base.extend({    init: function(elm, options){        this.parent();        this.elm = AJS.$(elm);        this.setOptions(options);        this.now = {};    },    setNow: function(){        for (p in this.from)             this.now[p] = this.compute(this.from[p], this.to[p]);    },    custom: function(obj){        if (this.timer && this.options.wait) return;        var from = {};        var to = {};        for (p in obj){            from[p] = obj[p][0];            to[p] = obj[p][1];        }        return this._start(from, to);    },    increase: function(){        for (var p in this.now) this.setStyle(this.elm, p, this.now[p]);    }});//Transitions (c) 2003 Robert Penner (http://www.robertpenner.com/easing/), BSD License.AJS.fx.Transitions = {    linear: function(t, b, c, d) { return c*t/d + b; },    sineInOut: function(t, b, c, d) { return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; }};script_loaded = true;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -