-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcascadingDivs.min.js
1 lines (1 loc) · 1.81 KB
/
cascadingDivs.min.js
1
function onTransitionEnd(e){g_isSliding=false}function slideDiv(e,t){if(e.prev().hasClass(CASCADE_DIV_CLASS)&&!e.hasClass(SELECTED_DIV_CLASS)){slideDiv(e.prev(),t)}repositionDiv(e,-t);e.addClass(SLIDED_DIV_CLASS)}function unslideDiv(e,t){if(e.next().hasClass(CASCADE_DIV_CLASS)&&!e.next().hasClass(SELECTED_DIV_CLASS)){unslideDiv(e.next(),t)}repositionDiv(e,t);e.removeClass(SLIDED_DIV_CLASS)}function repositionDiv(e,t){var n=e.css("left");n=n.replace("px","");if(n==""){n=0}else{n=Number(n)}e.css("left",n+t+"px");g_isSliding=true}const CASCADE_DIV_CLASS="cascade-div";const SLIDED_DIV_CLASS="cascade-div-slided";const SELECTED_DIV_CLASS="cascade-div-selected";var g_isSliding=false;jQuery.prototype.cascadingDivs=function(e){var e=e||{};const t=e.divSelector||"div";const n=e.slideTime||.5;var r=jQuery(this);var i=r.children(t);var s=0;var o=0;i.each(function(e,t){t=jQuery(t);if(t.height()>s){s=t.height()}if(t.width()>o){o=t.width()}});var u=(r.width()-o)/(i.length-1);r.css("position","relative");i.css("position","absolute");var a=i.length-1;i.each(function(e,t){t=jQuery(t);t.css("left",u*e+"px");t.css("z-index",a-e)});r.height(s);i.height(s);r.css("overflow","hidden");i.addClass(CASCADE_DIV_CLASS);i.first().addClass(SELECTED_DIV_CLASS);i.click(function(e){var t=jQuery(this);if(t.hasClass(SELECTED_DIV_CLASS)||g_isSliding){return}var n=t.width()-u;var r=t.prev();var i=t.next();if(r.hasClass(CASCADE_DIV_CLASS)&&!r.hasClass(SLIDED_DIV_CLASS)){slideDiv(r,n)}else if(i.hasClass(CASCADE_DIV_CLASS)&&t.hasClass(SLIDED_DIV_CLASS)){unslideDiv(t,n)}jQuery("."+SELECTED_DIV_CLASS).removeClass(SELECTED_DIV_CLASS);t.addClass(SELECTED_DIV_CLASS)});i.css("transition","left "+n+"s");i.css("-webkit-transition","left "+n+"s");i.bind("transitionend",onTransitionEnd);i.bind("webkitTransitionEnd",onTransitionEnd);i.bind("oTransitionEnd",onTransitionEnd)}