/*! * jQuery Transit - CSS3 transitions and transformations * Copyright(c) 2011 Rico Sta. Cruz * MIT Licensed. * * http://ricostacruz.com/jquery.transit * http://github.com/rstacruz/jquery.transit * * Reviewed by Simon SER to work with jQuery 1.8.2. */ (function(a){function d(a){var c=["Moz","Webkit","O","ms"];var d=a.charAt(0).toUpperCase()+a.substr(1);if(a in b.style){return a}for(var e=0;e0){g+=" "+p(e)}var h=[];a.each(f,function(a,b){h.push(b+" "+g)});return h.join(", ")}function m(b,d){if(!d){a.cssNumber[b]=true}a.transit.propertyMap[b]=c.transform;a.cssHooks[b]={get:function(c){var d=a(c).css("transform")&&a(c).css("transform")!="none"?a(c).css("transform"):new i;return d.get(b)},set:function(c,d){var e=a(c).css("transform")&&a(c).css("transform")!="none"?a(c).css("transform"):new i;e.setFromString(b,d);a(c).css({transform:e})}}}function n(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function o(a,b){if(typeof a==="string"&&!a.match(/^[\-0-9\.]+$/)){return a}else{return""+a+b}}function p(b){var c=b;if(a.fx.speeds[c]){c=a.fx.speeds[c]}return o(c,"ms")}"use strict";a.transit={version:"0.1.3",propertyMap:{marginLeft:"margin",marginRight:"margin",marginBottom:"margin",marginTop:"margin",paddingLeft:"padding",paddingRight:"padding",paddingBottom:"padding",paddingTop:"padding"},enabled:true,useTransitionEnd:false};var b=document.createElement("div");var c={};var f=navigator.userAgent.toLowerCase().indexOf("chrome")>-1;c.transition=d("transition");c.transitionDelay=d("transitionDelay");c.transform=d("transform");c.transformOrigin=d("transformOrigin");c.transform3d=e();a.extend(a.support,c);var g={MozTransition:"transitionend",OTransition:"oTransitionEnd",WebkitTransition:"webkitTransitionEnd",msTransition:"MSTransitionEnd"};var h=c.transitionEnd=g[c.transition]||null;b=null;a.cssEase={_default:"ease","in":"ease-in",out:"ease-out","in-out":"ease-in-out",snap:"cubic-bezier(0,1,.5,1)"};a.cssHooks.transform={get:function(b){return a(b).data("transform")},set:function(b,d){var e=d;if(!(e instanceof i)){e=new i(e)}if(c.transform==="WebkitTransform"&&!f){b.style[c.transform]=e.toString(true)}else{b.style[c.transform]=e.toString()}a(b).data("transform",e)}};a.cssHooks.transformOrigin={get:function(a){return a.style[c.transformOrigin]},set:function(a,b){a.style[c.transformOrigin]=b}};a.cssHooks.transition={get:function(a){return a.style[c.transition]},set:function(a,b){a.style[c.transition]=b}};m("scale");m("translate");m("rotate");m("rotateX");m("rotateY");m("rotate3d");m("perspective");m("skewX");m("skewY");m("x",true);m("y",true);i.prototype={setFromString:function(a,b){var c=typeof b==="string"?b.split(","):b.constructor===Array?b:[b];c.unshift(a);i.prototype.set.apply(this,c)},set:function(a){var b=Array.prototype.slice.apply(arguments,[1]);if(this.setter[a]){this.setter[a].apply(this,b)}else{this[a]=b.join(",")}},get:function(a){if(this.getter[a]){return this.getter[a].apply(this)}else{return this[a]||0}},setter:{rotate:function(a){this.rotate=o(a,"deg")},rotateX:function(a){this.rotateX=o(a,"deg")},rotateY:function(a){this.rotateY=o(a,"deg")},scale:function(a,b){if(b===undefined){b=a}this.scale=a+","+b},skewX:function(a){this.skewX=o(a,"deg")},skewY:function(a){this.skewY=o(a,"deg")},perspective:function(a){this.perspective=o(a,"px")},x:function(a){this.set("translate",a,null)},y:function(a){this.set("translate",null,a)},translate:function(a,b){if(this._translateX===undefined){this._translateX=0}if(this._translateY===undefined){this._translateY=0}if(a!==null){this._translateX=o(a,"px")}if(b!==null){this._translateY=o(b,"px")}this.translate=this._translateX+","+this._translateY}},getter:{x:function(){return this._translateX||0},y:function(){return this._translateY||0},scale:function(){var a=(this.scale||"1,1").split(",");if(a[0]){a[0]=parseFloat(a[0])}if(a[1]){a[1]=parseFloat(a[1])}return a[0]===a[1]?a[0]:a},rotate3d:function(){var a=(this.rotate3d||"0,0,0,0deg").split(",");for(var b=0;b<=3;++b){if(a[b]){a[b]=parseFloat(a[b])}}if(a[3]){a[3]=o(a[3],"deg")}return a}},parse:function(a){var b=this;a.replace(/([a-zA-Z0-9]+)\((.*?)\)/g,function(a,c,d){b.setFromString(c,d)})},toString:function(a){var b=[];for(var d in this){if(this.hasOwnProperty(d)){if(!c.transform3d&&(d==="rotateX"||d==="rotateY"||d==="perspective"||d==="transformOrigin")){continue}if(d[0]!=="_"){if(a&&d==="scale"){b.push(d+"3d("+this[d]+",1)")}else if(a&&d==="translate"){b.push(d+"3d("+this[d]+",0)")}else{b.push(d+"("+this[d]+")")}}}}return b.join(" ")}};a.fn.transition=a.fn.transit=function(b,d,e,f){var g=this;var i=0;var k=true;if(typeof d==="function"){f=d;d=undefined}if(typeof e==="function"){f=e;e=undefined}if(typeof b.easing!=="undefined"){e=b.easing;delete b.easing}if(typeof b.duration!=="undefined"){d=b.duration;delete b.duration}if(typeof b.complete!=="undefined"){f=b.complete;delete b.complete}if(typeof b.queue!=="undefined"){k=b.queue;delete b.queue}if(typeof b.delay!=="undefined"){i=b.delay;delete b.delay}if(typeof d==="undefined"){d=a.fx.speeds._default}if(typeof e==="undefined"){e=a.cssEase._default}d=p(d);var m=l(b,d,e,i);var n=a.transit.enabled&&c.transition;var o=n?parseInt(d,10)+parseInt(i,10):0;if(o===0){var q=function(a){g.css(b);if(f){f.apply(g)}if(a){a()}};j(g,k,q);return g}var r={};var s=function(d){var e=false;var i=function(){if(e){g.unbind(h,i)}if(o>0){g.each(function(){this.style[c.transition]=r[this]||null})}if(typeof f==="function"){f.apply(g)}if(typeof d==="function"){d()}};if(o>0&&h&&a.transit.useTransitionEnd){e=true;g.bind(h,i)}else{window.setTimeout(i,o)}g.each(function(){if(o>0){this.style[c.transition]=m}a(this).css(b)})};var t=function(a){var b=0;if(c.transition==="MozTransition"&&b<25){b=25}window.setTimeout(function(){s(a)},b)};j(g,k,t);return this};a.transit.getTransitionValue=l})(jQuery)