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

📄 effects.js

📁 原名JSPackager
💻 JS
📖 第 1 页 / 共 3 页
字号:
}});Effect.MoveBy = function (element, toTop, toLeft) {return new Effect.Move(element, Object.extend({x:toLeft, y:toTop}, arguments[3] || {}));};Effect.Scale = Class.create();Object.extend(Object.extend(Effect.Scale.prototype, Effect.Base.prototype), {initialize:function (element, percent) {this.element = $(element);if (!this.element) {throw (Effect._elementDoesNotExistError);}var options = Object.extend({scaleX:true, scaleY:true, scaleContent:true, scaleFromCenter:false, scaleMode:"box", scaleFrom:100, scaleTo:percent}, arguments[2] || {});this.start(options);}, setup:function () {this.restoreAfterFinish = this.options.restoreAfterFinish || false;this.elementPositioning = this.element.getStyle("position");this.originalStyle = {};["top", "left", "width", "height", "fontSize"].each(function (k) {this.originalStyle[k] = this.element.style[k];}.bind(this));this.originalTop = this.element.offsetTop;this.originalLeft = this.element.offsetLeft;var fontSize = this.element.getStyle("font-size") || "100%";["em", "px", "%", "pt"].each(function (fontSizeType) {if (fontSize.indexOf(fontSizeType) > 0) {this.fontSize = parseFloat(fontSize);this.fontSizeType = fontSizeType;}}.bind(this));this.factor = (this.options.scaleTo - this.options.scaleFrom) / 100;this.dims = null;if (this.options.scaleMode == "box") {this.dims = [this.element.offsetHeight, this.element.offsetWidth];}if (/^content/.test(this.options.scaleMode)) {this.dims = [this.element.scrollHeight, this.element.scrollWidth];}if (!this.dims) {this.dims = [this.options.scaleMode.originalHeight, this.options.scaleMode.originalWidth];}}, update:function (position) {var currentScale = (this.options.scaleFrom / 100) + (this.factor * position);if (this.options.scaleContent && this.fontSize) {this.element.setStyle({fontSize:this.fontSize * currentScale + this.fontSizeType});}this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale);}, finish:function (position) {if (this.restoreAfterFinish) {this.element.setStyle(this.originalStyle);}}, setDimensions:function (height, width) {var d = {};if (this.options.scaleX) {d.width = Math.round(width) + "px";}if (this.options.scaleY) {d.height = Math.round(height) + "px";}if (this.options.scaleFromCenter) {var topd = (height - this.dims[0]) / 2;var leftd = (width - this.dims[1]) / 2;if (this.elementPositioning == "absolute") {if (this.options.scaleY) {d.top = this.originalTop - topd + "px";}if (this.options.scaleX) {d.left = this.originalLeft - leftd + "px";}} else {if (this.options.scaleY) {d.top = -topd + "px";}if (this.options.scaleX) {d.left = -leftd + "px";}}}this.element.setStyle(d);}});Effect.Highlight = Class.create();Object.extend(Object.extend(Effect.Highlight.prototype, Effect.Base.prototype), {initialize:function (element) {this.element = $(element);if (!this.element) {throw (Effect._elementDoesNotExistError);}var options = Object.extend({startcolor:"#ffff99"}, arguments[1] || {});this.start(options);}, setup:function () {if (this.element.getStyle("display") == "none") {this.cancel();return;}this.oldStyle = {};if (!this.options.keepBackgroundImage) {this.oldStyle.backgroundImage = this.element.getStyle("background-image");this.element.setStyle({backgroundImage:"none"});}if (!this.options.endcolor) {this.options.endcolor = this.element.getStyle("background-color").parseColor("#ffffff");}if (!this.options.restorecolor) {this.options.restorecolor = this.element.getStyle("background-color");}this._base = $R(0, 2).map(function (i) {return parseInt(this.options.startcolor.slice(i * 2 + 1, i * 2 + 3), 16);}.bind(this));this._delta = $R(0, 2).map(function (i) {return parseInt(this.options.endcolor.slice(i * 2 + 1, i * 2 + 3), 16) - this._base[i];}.bind(this));}, update:function (position) {this.element.setStyle({backgroundColor:$R(0, 2).inject("#", function (m, v, i) {return m + (Math.round(this._base[i] + (this._delta[i] * position)).toColorPart());}.bind(this))});}, finish:function () {this.element.setStyle(Object.extend(this.oldStyle, {backgroundColor:this.options.restorecolor}));}});Effect.ScrollTo = Class.create();Object.extend(Object.extend(Effect.ScrollTo.prototype, Effect.Base.prototype), {initialize:function (element) {this.element = $(element);this.start(arguments[1] || {});}, setup:function () {Position.prepare();var offsets = Position.cumulativeOffset(this.element);if (this.options.offset) {offsets[1] += this.options.offset;}var max = window.innerHeight ? window.height - window.innerHeight : document.body.scrollHeight - (document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight);this.scrollStart = Position.deltaY;this.delta = (offsets[1] > max ? max : offsets[1]) - this.scrollStart;}, update:function (position) {Position.prepare();window.scrollTo(Position.deltaX, this.scrollStart + (position * this.delta));}});Effect.Fade = function (element) {element = $(element);var oldOpacity = element.getInlineOpacity();var options = Object.extend({from:element.getOpacity() || 1, to:0, afterFinishInternal:function (effect) {if (effect.options.to != 0) {return;}effect.element.hide().setStyle({opacity:oldOpacity});}}, arguments[1] || {});return new Effect.Opacity(element, options);};Effect.Appear = function (element) {element = $(element);var options = Object.extend({from:(element.getStyle("display") == "none" ? 0 : element.getOpacity() || 0), to:1, afterFinishInternal:function (effect) {effect.element.forceRerendering();}, beforeSetup:function (effect) {effect.element.setOpacity(effect.options.from).show();}}, arguments[1] || {});return new Effect.Opacity(element, options);};Effect.Puff = function (element) {element = $(element);var oldStyle = {opacity:element.getInlineOpacity(), position:element.getStyle("position"), top:element.style.top, left:element.style.left, width:element.style.width, height:element.style.height};return new Effect.Parallel([new Effect.Scale(element, 200, {sync:true, scaleFromCenter:true, scaleContent:true, restoreAfterFinish:true}), new Effect.Opacity(element, {sync:true, to:0})], Object.extend({duration:1, beforeSetupInternal:function (effect) {Position.absolutize(effect.effects[0].element);}, afterFinishInternal:function (effect) {effect.effects[0].element.hide().setStyle(oldStyle);}}, arguments[1] || {}));};Effect.BlindUp = function (element) {element = $(element);element.makeClipping();return new Effect.Scale(element, 0, Object.extend({scaleContent:false, scaleX:false, restoreAfterFinish:true, afterFinishInternal:function (effect) {effect.element.hide().undoClipping();}}, arguments[1] || {}));};Effect.BlindDown = function (element) {element = $(element);var elementDimensions = element.getDimensions();return new Effect.Scale(element, 100, Object.extend({scaleContent:false, scaleX:false, scaleFrom:0, scaleMode:{originalHeight:elementDimensions.height, originalWidth:elementDimensions.width}, restoreAfterFinish:true, afterSetup:function (effect) {effect.element.makeClipping().setStyle({height:"0px"}).show();}, afterFinishInternal:function (effect) {effect.element.undoClipping();}}, arguments[1] || {}));};Effect.SwitchOff = function (element) {element = $(element);var oldOpacity = element.getInlineOpacity();return new Effect.Appear(element, Object.extend({duration:0.4, from:0, transition:Effect.Transitions.flicker, afterFinishInternal:function (effect) {new Effect.Scale(effect.element, 1, {duration:0.3, scaleFromCenter:true, scaleX:false, scaleContent:false, restoreAfterFinish:true, beforeSetup:function (effect) {effect.element.makePositioned().makeClipping();}, afterFinishInternal:function (effect) {effect.element.hide().undoClipping().undoPositioned().setStyle({opacity:oldOpacity});}});}}, arguments[1] || {}));};Effect.DropOut = function (element) {element = $(element);var oldStyle = {top:element.getStyle("top"), left:element.getStyle("left"), opacity:element.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(element, {x:0, y:100, sync:true}), new Effect.Opacity(element, {sync:true, to:0})], Object.extend({duration:0.5, beforeSetup:function (effect) {effect.effects[0].element.makePositioned();}, afterFinishInternal:function (effect) {effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);}}, arguments[1] || {}));};Effect.Shake = function (element) {element = $(element);var oldStyle = {top:element.getStyle("top"), left:element.getStyle("left")};return new Effect.Move(element, {x:20, y:0, duration:0.05, afterFinishInternal:function (effect) {new Effect.Move(effect.element, {x:-40, y:0, duration:0.1, afterFinishInternal:function (effect) {new Effect.Move(effect.element, {x:40, y:0, duration:0.1, afterFinishInternal:function (effect) {new Effect.Move(effect.element, {x:-40, y:0, duration:0.1, afterFinishInternal:function (effect) {new Effect.Move(effect.element, {x:40, y:0, duration:0.1, afterFinishInternal:function (effect) {new Effect.Move(effect.element, {x:-20, y:0, duration:0.05, afterFinishInternal:function (effect) {effect.element.undoPositioned().setStyle(oldStyle);}});}});}});}});}});}});};Effect.SlideDown = function (element) {element = $(element).cleanWhitespace();var oldInnerBottom = element.down().getStyle("bottom");var elementDimensions = element.getDimensions();return new Effect.Scale(element, 100, Object.extend({scaleContent:false, scaleX:false, scaleFrom:window.opera ? 0 : 1, scaleMode:{originalHeight:elementDimensions.height, originalWidth:elementDimensions.width}, restoreAfterFinish:true, afterSetup:function (effect) {effect.element.makePositioned();effect.element.down().makePositioned();if (window.opera) {effect.element.setStyle({top:""});}effect.element.makeClipping().setStyle({height:"0px"}).show();}, afterUpdateInternal:function (effect) {effect.element.down().setStyle({bottom:(effect.dims[0] - effect.element.clientHeight) + "px"});}, afterFinishInternal:function (effect) {effect.element.undoClipping().undoPositioned();effect.element.down().undoPositioned().setStyle({bottom:oldInnerBottom});}}, arguments[1] || {}));};Effect.SlideUp = function (element) {element = $(element).cleanWhitespace();var oldInnerBottom = element.down().getStyle("bottom");return new Effect.Scale(element, window.opera ? 0 : 1, Object.extend({scaleContent:false, scaleX:false, scaleMode:"box", scaleFrom:100, restoreAfterFinish:true, beforeStartInternal:function (effect) {effect.element.makePositioned();effect.element.down().makePositioned();if (window.opera) {effect.element.setStyle({top:""});}effect.element.makeClipping().show();}, afterUpdateInternal:function (effect) {effect.element.down().setStyle({bottom:(effect.dims[0] - effect.element.clientHeight) + "px"});}, afterFinishInternal:function (effect) {effect.element.hide().undoClipping().undoPositioned().setStyle({bottom:oldInnerBottom});effect.element.down().undoPositioned();}}, arguments[1] || {}));};Effect.Squish = function (element) {return new Effect.Scale(element, window.opera ? 1 : 0, {restoreAfterFinish:true, beforeSetup:function (effect) {effect.element.makeClipping();}, afterFinishInternal:function (effect) {effect.element.hide().undoClipping();}});};Effect.Grow = function (element) {

⌨️ 快捷键说明

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