jquery.livingElements-0.2.js
12.8 KB
//old
//jQuery.log=function(a){if(window.console){console.log(a)}else{}};(function($){$.fn.livingElements=function(g,h){var j={background:'#33CCFF',easing:'swing',delay:0,disableIE6:false,startOnLoad:false,triggerElementSelector:null,triggerElementStartEvent:'focus',triggerElementStopEvent:'blur',preAnimationStartOpacity:null,preAnimationDuration:500,mainAnimationFade:true,mainAnimationStartOpacity:1,mainAnimationEndOpacity:0,mainAnimationScrollDirection:'horizontal',mainAnimationStartBackgroundPositionX:0,mainAnimationStartBackgroundPositionY:0,mainAnimationEndBackgroundPositionX:null,mainAnimationEndBackgroundPositionY:null,mainAnimationContinous:true,mainAnimationDuration:1000,mainAnimationSoftEndDuration:null,postAnimationEndOpacity:null,postAnimationDuration:500};if(h)$.extend(j,h);j.averageOpacity=(j.mainAnimationStartOpacity+j.mainAnimationEndOpacity)/2;var k;var l=(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)==4&&navigator.appVersion.indexOf("MSIE 5.5")!=-1);var m=(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)==4&&navigator.appVersion.indexOf("MSIE 6.0")!=-1);if((l||m)&&j.disableIE6)return this;this.each(function(){var d={elementWidth:$(this).outerWidth(),elementHeight:$(this).outerHeight(),mainAnimationStartBackgroundPositionX:j.mainAnimationStartBackgroundPositionX,mainAnimationStartBackgroundPositionY:j.mainAnimationStartBackgroundPositionY};if(j.mainAnimationEndBackgroundPositionX===null){if(j.mainAnimationScrollDirection=='horizontal')d.mainAnimationEndBackgroundPositionX=d.elementWidth;else d.mainAnimationEndBackgroundPositionX=d.mainAnimationStartBackgroundPositionX}else d.mainAnimationEndBackgroundPositionX=j.mainAnimationEndBackgroundPositionX;if(j.mainAnimationEndBackgroundPositionY===null)if(j.mainAnimationScrollDirection=='horizontal')d.mainAnimationEndBackgroundPositionY=d.mainAnimationStartBackgroundPositionY;else d.mainAnimationEndBackgroundPositionY=d.elementHeight;else d.mainAnimationEndBackgroundPositionY=j.mainAnimationEndBackgroundPositionY;d.averageBackgroundPositionX=(d.mainAnimationStartBackgroundPositionX+d.mainAnimationEndBackgroundPositionX)/2;d.averageBackgroundPositionY=(d.mainAnimationStartBackgroundPositionY+d.mainAnimationEndBackgroundPositionY)/2;if($(this).css('position')=='static')$(this).css('position','relative');$(this).children().css('position','absolute');var e=$(this).clone().empty().css('position','absolute').css('background','url('+g+')').css('width',d.elementWidth).css('height',d.elementHeight).attr('class','').prependTo(this);var f=e.clone().css('background',j.background).css('backgroundPosition',d.mainAnimationStartBackgroundPositionX+'px '+d.mainAnimationStartBackgroundPositionY+'px').prependTo(this);if(j.preAnimationStartOpacity!==null)f.css('opacity',j.preAnimationStartOpacity);else f.css('opacity',j.mainAnimationStartOpacity);if(l||m){$.each([e],function(i,a){var b=a.css('background-image');if(b.indexOf(".png")!=-1){var c=b.split('url("')[1].split('")')[0];a.css('background-image','none');a.get(0).runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/input-mask.png',sizingMethod='scale')"}})}if(j.triggerElementSelector==null||j.startOnLoad){startAnimation(f,j,d)}if(j.triggerElementSelector!=null){$(this).children(j.triggerElementSelector).focus(function(){if(j.triggerElementStartEvent=='focus')startAnimation(f,j,d);else if(j.triggerElementStopEvent=='focus')endAnimation(f,j,d)});$(this).children(j.triggerElementSelector).blur(function(){if(j.triggerElementStartEvent=='blur')startAnimation(f,j,d);else if(j.triggerElementStopEvent=='blur')endAnimation(f,j,d)})}});return this;function startAnimation(a,b,c){if(b.preAnimationStartOpacity!==null){k=window.setTimeout(function(){$.log(b.mainAnimationStartOpacity);a.stop(true).animate({'opacity':b.mainAnimationStartOpacity},b.preAnimationDuration,b.easing)},b.delay)}k=window.setTimeout(function(){_animateMask(a,b,c)},b.preAnimationDuration+b.delay)}function endAnimation(a,b,c){window.clearTimeout(k);if(b.mainAnimationFade){if(b.mainAnimationSoftEndDuration!=null)a.stop(true).animate({'opacity':b.mainAnimationStartOpacity},b.mainAnimationSoftEndDuration,b.easing);else a.stop(true).css('opacity',b.mainAnimationStartOpacity)}else{if(b.mainAnimationSoftEndDuration!=null){a.stop(true).animate({backgroundPosition:'('+c.mainAnimationStartBackgroundPositionX+'px '+c.mainAnimationStartBackgroundPositionY+'px)'},b.mainAnimationSoftEndDuration,b.easing)}}if(b.postAnimationEndOpacity!=null){k=window.setTimeout(function(){a.stop(true).animate({'opacity':b.postAnimationEndOpacity},b.postAnimationDuration,b.easing);window.setTimeout(function(){a.stop(true).css('backgroundPosition',c.mainAnimationStartBackgroundPositionX+'px '+c.mainAnimationStartBackgroundPositionY+'px')},b.postAnimationDuration)},b.mainAnimationSoftEndDuration)}}function _animateMask(a,b,c){$.log($(a).css('backgroundPosition'));if(b.mainAnimationFade){if((b.mainAnimationStartOpacity<=b.mainAnimationEndOpacity&&parseFloat(a.css('opacity'))>b.averageOpacity)||(b.mainAnimationStartOpacity>=b.mainAnimationEndOpacity&&parseFloat(a.css('opacity'))<b.averageOpacity)){a.stop(true).animate({'opacity':b.mainAnimationStartOpacity},b.mainAnimationDuration,b.easing)}else{a.stop(true).animate({'opacity':b.mainAnimationEndOpacity},b.mainAnimationDuration,b.easing)}}else{var d;var e;if($(a).css('backgroundPosition')=='0% 0%'){d=0;e=0}else{var f=$(a).css('backgroundPosition').split('px');d=parseFloat(f[0]);e=parseFloat(f[1])}if((c.mainAnimationEndBackgroundPositionX>=c.mainAnimationStartBackgroundPositionX&&d>c.averageBackgroundPositionX)||(c.mainAnimationEndBackgroundPositionX<=c.mainAnimationStartBackgroundPositionX&&d<c.averageBackgroundPositionX)||(c.mainAnimationEndBackgroundPositionY>=c.mainAnimationStartBackgroundPositionY&&e>c.averageBackgroundPositionY)||(c.mainAnimationEndBackgroundPositionY<=c.mainAnimationStartBackgroundPositionY&&e<c.averageBackgroundPositionY)){$.log(c.mainAnimationStartBackgroundPositionX+' '+c.mainAnimationStartBackgroundPositionY+' '+c.mainAnimationEndBackgroundPositionX+' '+c.mainAnimationEndBackgroundPositionY);$(a).stop(true).animate({backgroundPosition:'('+c.mainAnimationStartBackgroundPositionX+'px '+c.mainAnimationStartBackgroundPositionY+'px)'},b.mainAnimationDuration,b.easing)}else{$(a).stop(true).animate({backgroundPosition:'('+c.mainAnimationEndBackgroundPositionX+'px '+c.mainAnimationEndBackgroundPositionY+'px)'},b.mainAnimationDuration,b.easing)}}if(b.mainAnimationContinous)k=window.setTimeout(function(){_animateMask(a,b,c)},b.mainAnimationDuration)}$.log($(elem).css('backgroundPosition'))}})(jQuery);
//eval
(function($){$.fn.livingElements=function(g,h){var j={background:'#33CCFF',easing:'swing',delay:0,disableIE6:false,startOnLoad:false,triggerElementSelector:null,triggerElementStartEvent:'focus',triggerElementStopEvent:'blur',preAnimationStartOpacity:null,preAnimationDuration:500,mainAnimationFade:true,mainAnimationStartOpacity:1,mainAnimationEndOpacity:0,mainAnimationScrollDirection:'horizontal',mainAnimationStartBackgroundPositionX:0,mainAnimationStartBackgroundPositionY:0,mainAnimationEndBackgroundPositionX:null,mainAnimationEndBackgroundPositionY:null,mainAnimationContinous:true,mainAnimationDuration:1000,mainAnimationSoftEndDuration:null,postAnimationEndOpacity:null,postAnimationDuration:500};if(h)$.extend(j,h);j.averageOpacity=(j.mainAnimationStartOpacity+j.mainAnimationEndOpacity)/2;var k;var l=(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)==4&&navigator.appVersion.indexOf("MSIE 5.5")!=-1);var m=(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)==4&&navigator.appVersion.indexOf("MSIE 6.0")!=-1);if((l||m)&&j.disableIE6)return this;this.each(function(){var d={elementWidth:$(this).outerWidth(),elementHeight:$(this).outerHeight(),mainAnimationStartBackgroundPositionX:j.mainAnimationStartBackgroundPositionX,mainAnimationStartBackgroundPositionY:j.mainAnimationStartBackgroundPositionY};if(j.mainAnimationEndBackgroundPositionX===null){if(j.mainAnimationScrollDirection=='horizontal')d.mainAnimationEndBackgroundPositionX=d.elementWidth;else d.mainAnimationEndBackgroundPositionX=d.mainAnimationStartBackgroundPositionX}else d.mainAnimationEndBackgroundPositionX=j.mainAnimationEndBackgroundPositionX;if(j.mainAnimationEndBackgroundPositionY===null)if(j.mainAnimationScrollDirection=='horizontal')d.mainAnimationEndBackgroundPositionY=d.mainAnimationStartBackgroundPositionY;else d.mainAnimationEndBackgroundPositionY=d.elementHeight;else d.mainAnimationEndBackgroundPositionY=j.mainAnimationEndBackgroundPositionY;d.averageBackgroundPositionX=(d.mainAnimationStartBackgroundPositionX+d.mainAnimationEndBackgroundPositionX)/2;d.averageBackgroundPositionY=(d.mainAnimationStartBackgroundPositionY+d.mainAnimationEndBackgroundPositionY)/2;if($(this).css('position')=='static')$(this).css('position','relative');$(this).children().css('position','absolute');var e=$(this).clone().empty().css('position','absolute').css('background','url('+g+')').css('width',d.elementWidth).css('height',d.elementHeight).attr('class','').prependTo(this);var f=e.clone().css('background',j.background).css('backgroundPosition',d.mainAnimationStartBackgroundPositionX+'px '+d.mainAnimationStartBackgroundPositionY+'px').prependTo(this);if(j.preAnimationStartOpacity!==null)f.css('opacity',j.preAnimationStartOpacity);else f.css('opacity',j.mainAnimationStartOpacity);if(l||m){$.each([e],function(i,a){var b=a.css('background-image');if(b.indexOf(".png")!=-1){var c=b.split('url("')[1].split('")')[0];a.css('background-image','none');a.get(0).runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/input-mask.png',sizingMethod='scale')"}})}if(j.triggerElementSelector==null||j.startOnLoad){startAnimation(f,j,d)}if(j.triggerElementSelector!=null){$(this).children(j.triggerElementSelector).focus(function(){if(j.triggerElementStartEvent=='focus')startAnimation(f,j,d);else if(j.triggerElementStopEvent=='focus')endAnimation(f,j,d)});$(this).children(j.triggerElementSelector).blur(function(){if(j.triggerElementStartEvent=='blur')startAnimation(f,j,d);else if(j.triggerElementStopEvent=='blur')endAnimation(f,j,d)})}});return this;function startAnimation(a,b,c){if(b.preAnimationStartOpacity!==null){k=window.setTimeout(function(){a.stop(true).animate({'opacity':b.mainAnimationStartOpacity},b.preAnimationDuration,b.easing)},b.delay)}k=window.setTimeout(function(){_animateMask(a,b,c)},b.preAnimationDuration+b.delay)}function endAnimation(a,b,c){window.clearTimeout(k);if(b.mainAnimationFade){if(b.mainAnimationSoftEndDuration!=null)a.stop(true).animate({'opacity':b.mainAnimationStartOpacity},b.mainAnimationSoftEndDuration,b.easing);else a.stop(true).css('opacity',b.mainAnimationStartOpacity)}else{if(b.mainAnimationSoftEndDuration!=null){a.stop(true).animate({backgroundPosition:'('+c.mainAnimationStartBackgroundPositionX+'px '+c.mainAnimationStartBackgroundPositionY+'px)'},b.mainAnimationSoftEndDuration,b.easing)}}if(b.postAnimationEndOpacity!=null){k=window.setTimeout(function(){a.stop(true).animate({'opacity':b.postAnimationEndOpacity},b.postAnimationDuration,b.easing);window.setTimeout(function(){a.stop(true).css('backgroundPosition',c.mainAnimationStartBackgroundPositionX+'px '+c.mainAnimationStartBackgroundPositionY+'px')},b.postAnimationDuration)},b.mainAnimationSoftEndDuration)}}function _animateMask(a,b,c){if(b.mainAnimationFade){if((b.mainAnimationStartOpacity<=b.mainAnimationEndOpacity&&parseFloat(a.css('opacity'))>b.averageOpacity)||(b.mainAnimationStartOpacity>=b.mainAnimationEndOpacity&&parseFloat(a.css('opacity'))<b.averageOpacity)){a.stop(true).animate({'opacity':b.mainAnimationStartOpacity},b.mainAnimationDuration,b.easing)}else{a.stop(true).animate({'opacity':b.mainAnimationEndOpacity},b.mainAnimationDuration,b.easing)}}else{var d;var e;if($(a).css('backgroundPosition')=='0% 0%'){d=0;e=0}else{var f=$(a).css('backgroundPosition').split('px');d=parseFloat(f[0]);e=parseFloat(f[1])}if((c.mainAnimationEndBackgroundPositionX>=c.mainAnimationStartBackgroundPositionX&&d>c.averageBackgroundPositionX)||(c.mainAnimationEndBackgroundPositionX<=c.mainAnimationStartBackgroundPositionX&&d<c.averageBackgroundPositionX)||(c.mainAnimationEndBackgroundPositionY>=c.mainAnimationStartBackgroundPositionY&&e>c.averageBackgroundPositionY)||(c.mainAnimationEndBackgroundPositionY<=c.mainAnimationStartBackgroundPositionY&&e<c.averageBackgroundPositionY)){$(a).stop(true).animate({backgroundPosition:'('+c.mainAnimationStartBackgroundPositionX+'px '+c.mainAnimationStartBackgroundPositionY+'px)'},b.mainAnimationDuration,b.easing)}else{$(a).stop(true).animate({backgroundPosition:'('+c.mainAnimationEndBackgroundPositionX+'px '+c.mainAnimationEndBackgroundPositionY+'px)'},b.mainAnimationDuration,b.easing)}}if(b.mainAnimationContinous)k=window.setTimeout(function(){_animateMask(a,b,c)},b.mainAnimationDuration)}}})(jQuery);