forked from peachananr/flipout_cards
-
Notifications
You must be signed in to change notification settings - Fork 0
/
jquery.flipout_cards.min.js
1 lines (1 loc) · 3.18 KB
/
jquery.flipout_cards.min.js
1
!function(e){function n(e){if(e%2==0)return"even";else return"odd"}function r(e,t){var n,r,i=t;this.pause=function(){window.clearTimeout(n);i-=new Date-r};this.resume=function(){r=new Date;n=window.setTimeout(e,i)};this.resume()}var t={animation:"flipOut",beforeOpen:null,afterOpen:null,beforeClose:null,afterClose:null};e.fn.getDimension=function(t){$clone=this.clone().addClass("foc-card foc-open").css("visibility","hidden").appendTo(e("body"));if(t=="width"){var n=$clone.outerWidth();$clone.remove();return n}else{var r=$clone.outerHeight();$clone.remove();return r}};e.fn.flipout_cards=function(i){var s=e.extend({},t,i),o=e(this);return this.each(function(){var t="",i="",u="",a="",f=false,l=0,c=0,h="";switch(s.animation){case"slideOut":h="foc-slideout";break;case"foldOut":h="foc-foldout";break;default:}o.find(".foc-left").each(function(n){var r=e(this);l+=r.getDimension("width");var i=r.clone();r.remove();t+="<div class='foc-card foc-left "+h+"'>"+i.html()+"</div>"});if(t!="")e("<div style='width:"+l+"px;' class='foc-left-wrapper foc-wrapper'>"+t+"</div>").appendTo(".foc-main");l=0;o.find(".foc-right").each(function(t){var n=e(this);l+=n.getDimension("width");var r=n.clone();n.remove();i+="<div class='foc-card foc-right "+h+"'>"+r.html()+"</div>"});if(i!="")e("<div style='width:"+l+"px;' class='foc-right-wrapper foc-wrapper'>"+i+"</div>").appendTo(".foc-main");e(o.find(".foc-top").get().reverse()).each(function(t){var r=e(this);c+=r.getDimension("height");var i=r.clone();r.remove();u="<div class='foc-card foc-top "+h+" "+n(t+1)+"'>"+i.html()+"</div>"+u});if(u!="")e("<div style='height:"+c+"px;' class='foc-top-wrapper foc-wrapper'>"+u+"</div>").appendTo(".foc-main");c=0;o.find(".foc-bottom").each(function(t){var n=e(this);c+=n.getDimension("height");var r=n.clone();n.remove();a+="<div class='foc-card foc-bottom "+h+"'>"+r.html()+"</div>"});if(a!="")e("<div style='height:"+c+"px;' class='foc-bottom-wrapper foc-wrapper'>"+a+"</div>").appendTo(".foc-main");o.hover(function(){if(typeof s.beforeOpen=="function")s.beforeOpen();e(this).addClass("foc-open");o.find(".foc-wrapper").each(function(){var t=e(this);if(t.hasClass("foc-top-wrapper")){var n=e(t.find(".foc-card").get().reverse())}else{var n=t.find(".foc-card")}if(f==false){var i=false;n.each(function(n){var u=e(this);f=true;var a=new r(function(){if(o.hasClass("foc-open"))u.addClass("foc-open")},n*100);if(n==t.find(".foc-card").length-1){f=false;u.one("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend",function(e){if(typeof s.afterOpen=="function"&&i==false)s.afterOpen();i=true})}})}})},function(){if(typeof s.beforeClose=="function")s.beforeClose();e(this).removeClass("foc-open");o.find(".foc-wrapper").each(function(){var t=e(this);if(f==false){if(t.hasClass("foc-top-wrapper")){var n=t.find(".foc-card")}else{var n=e(t.find(".foc-card").get().reverse())}var i=false;n.each(function(n){var u=e(this);f=true;var a=new r(function(){if(!o.hasClass("foc-open"))u.removeClass("foc-open")},n*100);if(n==t.find(".foc-card").length-1){f=false;u.one("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend",function(e){if(typeof s.afterClose=="function"&&i==false){s.afterClose();i=true}})}})}})})})}}(window.jQuery)