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

📄 moo.fx.js

📁 介绍无线可视门铃系统原理
💻 JS
📖 第 1 页 / 共 4 页
字号:
	hide: function(){		this[this.options.mode]();		this.wrapper.setStyle(this.layout, '0');		this.element.setStyle('margin-'+this.margin, -this.element['scroll'+this.layout.capitalize()]+this.options.unit);		return this;	},	show: function(){		this[this.options.mode]();		this.wrapper.setStyle(this.layout, this.element['scroll'+this.layout.capitalize()]+this.options.unit);		this.element.setStyle('margin-'+this.margin, '0');		return this;	},	toggle: function(mode){		this[this.options.mode]();		if (this.wrapper['offset'+this.layout.capitalize()] > 0) return this.custom(this.startPosition, this.endPosition);		else return this.custom(this.endPosition, this.startPosition);	},	increase: function(){			this.wrapper.setStyle(this.layout, this.now[0]+this.options.unit);		this.element.setStyle('margin-'+this.margin, this.now[1]+this.options.unit);	}});Fx.Color = Fx.Base.extend({	initialize: function(el, property, options){		this.element = $(el);		this.setOptions(options);		this.property = property;		this.now = [];	},	custom: function(from, to){		return this.parent(from.hexToRgb(true), to.hexToRgb(true));	},	setNow: function(){		[0,1,2].each(function(i){			this.now[i] = Math.round(this.compute(this.from[i], this.to[i]));		}, this);	},	increase: function(){		this.element.setStyle(this.property, "rgb("+this.now[0]+","+this.now[1]+","+this.now[2]+")");	},	fromColor: function(color){		return this.custom(color, this.element.getStyle(this.property));	},	toColor: function(color){		return this.custom(this.element.getStyle(this.property), color);	}});Fx.Height = Fx.Style.extend({	initialize: function(el, options){		this.parent(el, 'height', options);		this.element.setStyle('overflow', 'hidden');	},	toggle: function(){		if (this.element.offsetHeight > 0) return this.custom(this.element.offsetHeight, 0);		else return this.custom(0, this.element.scrollHeight);	},	show: function(){		return this.set(this.element.scrollHeight);	}});Fx.Width = Fx.Style.extend({	initialize: function(el, options){		this.parent(el, 'width', options);		this.element.setStyle('overflow', 'hidden');		this.iniWidth = this.element.offsetWidth;	},	toggle: function(){		if (this.element.offsetWidth > 0) return this.custom(this.element.offsetWidth, 0);		else return this.custom(0, this.iniWidth);	},	show: function(){		return this.set(this.iniWidth);	}});Fx.Opacity = Fx.Style.extend({	initialize: function(el, options){		this.parent(el, 'opacity', options);		this.now = 1;	},	toggle: function(){		if (this.now > 0) return this.custom(1, 0);		else return this.custom(0, 1);	},	show: function(){		return this.set(1);	}});Fx.Transitions = {	linear: function(t, b, c, d){		return c*t/d + b;	},	quadIn: function(t, b, c, d){		return c*(t/=d)*t + b;	},	quadOut: function(t, b, c, d){		return -c *(t/=d)*(t-2) + b;	},	quadInOut: function(t, b, c, d){		if ((t/=d/2) < 1) return c/2*t*t + b;		return -c/2 * ((--t)*(t-2) - 1) + b;	},	cubicIn: function(t, b, c, d){		return c*(t/=d)*t*t + b;	},	cubicOut: function(t, b, c, d){		return c*((t=t/d-1)*t*t + 1) + b;	},	cubicInOut: function(t, b, c, d){		if ((t/=d/2) < 1) return c/2*t*t*t + b;		return c/2*((t-=2)*t*t + 2) + b;	},	quartIn: function(t, b, c, d){		return c*(t/=d)*t*t*t + b;	},	quartOut: function(t, b, c, d){		return -c * ((t=t/d-1)*t*t*t - 1) + b;	},	quartInOut: function(t, b, c, d){		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;		return -c/2 * ((t-=2)*t*t*t - 2) + b;	},	quintIn: function(t, b, c, d){		return c*(t/=d)*t*t*t*t + b;	},	quintOut: function(t, b, c, d){		return c*((t=t/d-1)*t*t*t*t + 1) + b;	},	quintInOut: function(t, b, c, d){		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;		return c/2*((t-=2)*t*t*t*t + 2) + b;	},	sineIn: function(t, b, c, d){		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;	},	sineOut: function(t, b, c, d){		return c * Math.sin(t/d * (Math.PI/2)) + b;	},	sineInOut: function(t, b, c, d){		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;	},	expoIn: function(t, b, c, d){		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;	},	expoOut: function(t, b, c, d){		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;	},	expoInOut: function(t, b, c, d){		if (t==0) return b;		if (t==d) return b+c;		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;	},	circIn: function(t, b, c, d){		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;	},	circOut: function(t, b, c, d){		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;	},	circInOut: function(t, b, c, d){		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;	},	elasticIn: function(t, b, c, d, a, p){		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3; if (!a) a = 1;		if (a < Math.abs(c)){ a=c; var s=p/4; }		else var s = p/(2*Math.PI) * Math.asin(c/a);		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;	},	elasticOut: function(t, b, c, d, a, p){		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3; if (!a) a = 1;		if (a < Math.abs(c)){ a=c; var s=p/4; }		else var s = p/(2*Math.PI) * Math.asin(c/a);		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;	},	elasticInOut: function(t, b, c, d, a, p){		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5); if (!a) a = 1;		if (a < Math.abs(c)){ a=c; var s=p/4; }		else var s = p/(2*Math.PI) * Math.asin(c/a);		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;	},	backIn: function(t, b, c, d, s){		if (!s) s = 1.70158;		return c*(t/=d)*t*((s+1)*t - s) + b;	},	backOut: function(t, b, c, d, s){		if (!s) s = 1.70158;		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;	},	backInOut: function(t, b, c, d, s){		if (!s) s = 1.70158;		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;	},	bounceIn: function(t, b, c, d){		return c - Fx.Transitions.bounceOut (d-t, 0, c, d) + b;	},	bounceOut: function(t, b, c, d){		if ((t/=d) < (1/2.75)){			return c*(7.5625*t*t) + b;		} else if (t < (2/2.75)){			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;		} else if (t < (2.5/2.75)){			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;		} else {			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;		}	},	bounceInOut: function(t, b, c, d){		if (t < d/2) return Fx.Transitions.bounceIn(t*2, 0, c, d) * .5 + b;		return Fx.Transitions.bounceOut(t*2-d, 0, c, d) * .5 + c*.5 + b;	}};var Tips = new Class({	setOptions: function(options){		this.options = {			transitionStart: Fx.Transitions.sineInOut,			transitionEnd: Fx.Transitions.sineInOut,			maxTitleChars: 30,			fxDuration: 150,			maxOpacity: 1,			timeOut: 100,			className: 'tooltip'		}		Object.extend(this.options, options || {});	},	initialize: function(elements, options){		this.elements = elements;		this.setOptions(options);		this.toolTip = new Element('div').addClassName(this.options.className).setStyle('position', 'absolute').injectInside(document.body);		this.toolTitle = new Element('H4').injectInside(this.toolTip);		this.toolText = new Element('p').injectInside(this.toolTip);		this.fx = new fx.Style(this.toolTip, 'opacity', {duration: this.options.fxDuration, wait: false}).hide();		$A(elements).each(function(el){			$(el).myText = el.title || false;			if (el.myText) el.removeAttribute('title');			if (el.href){				if (el.href.test('http://')) el.myTitle = el.href.replace('http://', '');				if (el.href.length > this.options.maxTitleChars) el.myTitle = el.href.substr(0,this.options.maxTitleChars-3)+"...";			}			if (el.myText && el.myText.test('::')){				var dual = el.myText.split('::');				el.myTitle = dual[0].trim();				el.myText = dual[1].trim();			} 			el.onmouseover = function(){				this.show(el);				return false;			}.bind(this);			el.onmousemove = this.locate.bindAsEventListener(this);			el.onmouseout = function(){				this.timer = $clear(this.timer);				this.disappear();			}.bind(this);		}, this);	},	show: function(el){		this.toolTitle.innerHTML = el.myTitle;		this.toolText.innerHTML = el.myText;		this.timer = $clear(this.timer);		this.fx.options.transition = this.options.transitionStart;		this.timer = this.appear.delay(this.options.timeOut, this);	},	appear: function(){		this.fx.custom(this.fx.now, this.options.maxOpacity);	},	locate: function(evt){		var doc = document.documentElement;		this.toolTip.setStyles({'top': evt.clientY + doc.scrollTop + 15 + 'px', 'left': evt.clientX + doc.scrollLeft - 30 + 'px'});	},	disappear: function(){		this.fx.options.transition = this.options.transitionEnd;		this.fx.custom(this.fx.now, 0);	}});Fx.Elements = Fx.Base.extend({	initialize: function(elements, options){		this.elements = [];		elements.each(function(el){			this.elements.push($(el));		}, this);		this.setOptions(options);		this.now = {};	},	setNow: function(){		for (var i in this.from){			var iFrom = this.from[i];			var iTo = this.to[i];			var iNow = this.now[i] = {};			for (var p in iFrom) iNow[p] = this.compute(iFrom[p], iTo[p]);		}	},	custom: function(objObjs){		if (this.timer && this.options.wait) return;		var from = {};		var to = {};		for (var i in objObjs){			var iProps = objObjs[i];			var iFrom = from[i] = {};			var iTo = to[i] = {};			for (var prop in iProps){				iFrom[prop] = iProps[prop][0];				iTo[prop] = iProps[prop][1];			}		}		return this.parent(from, to);	},	increase: function(){		for (var i in this.now){			var iNow = this.now[i];			for (var p in iNow) this.setStyle(this.elements[i.toInt()], p, iNow[p]);		}	}});Fx.Accordion = Fx.Elements.extend({	extendOptions: function(options){		Object.extend(this.options, Object.extend({			start: 'open-first',			fixedHeight: false,			fixedWidth: false,			alwaysHide: false,			wait: false,			onActive: Class.empty,			onBackground: Class.empty,			height: true,			opacity: true,			width: false		}, options || {}));	},	initialize: function(togglers, elements, options){		this.parent(elements, options);		this.extendOptions(options);		this.previousClick = 'nan';		togglers.each(function(tog, i){			$(tog).addEvent('click', function(){this.showThisHideOpen(i)}.bind(this));		}, this);		this.togglers = togglers;		this.h = {}; this.w = {}; this.o = {};		this.elements.each(function(el, i){			this.now[i] = {};			$(el).setStyles({'height': 0, 'overflow': 'hidden'});		}, this);		switch(this.options.start){			case 'first-open': this.elements[0].setStyle('height', this.elements[0].scrollHeight+this.options.unit); break;			case 'open-first': this.showThisHideOpen(0); break;		}	},	hideThis: function(i){		if (this.options.height) this.h = {'height': [this.elements[i].offsetHeight, 0]};		if (this.options.width) this.w = {'width': [this.elements[i].offsetWidth, 0]};		if (this.options.opacity) this.o = {'opacity': [this.now[i]['opacity'] || 1, 0]};	},	showThis: function(i){		if (this.options.height) this.h = {'height': [this.elements[i].offsetHeight, this.options.fixedHeight || this.elements[i].scrollHeight]};		if (this.options.width) this.w = {'width': [this.elements[i].offsetWidth, this.options.fixedWidth || this.elements[i].scrollWidth]};		if (this.options.opacity) this.o = {'opacity': [this.now[i]['opacity'] || 0, 1]};	},	showThisHideOpen: function(iToShow){		if (iToShow != this.previousClick || this.options.alwaysHide){			this.previousClick = iToShow;			var objObjs = {};			var err = false;			var madeInactive = false;			this.elements.each(function(el, i){				this.now[i] = this.now[i] || {};				if (i != iToShow){					this.hideThis(i);				} else if (this.options.alwaysHide){					if (el.offsetHeight == el.scrollHeight){						this.hideThis(i);						madeInactive = true;					} else if (el.offsetHeight == 0){						this.showThis(i);					} else {						err = true;					}				} else if (this.options.wait && this.timer){					this.previousClick = 'nan';					err = true;				} else {					this.showThis(i);				}				objObjs[i] = Object.extend(this.h, Object.extend(this.o, this.w));			}, this);			if (err) return;			if (!madeInactive) this.options.onActive.call(this, this.togglers[iToShow], iToShow);			this.togglers.each(function(tog, i){				if (i != iToShow || madeInactive) this.options.onBackground.call(this, tog, i);			}, this);			return this.custom(objObjs);		}	}});

⌨️ 快捷键说明

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