-
Notifications
You must be signed in to change notification settings - Fork 26
/
jquery.reveal.min.js
4 lines (4 loc) · 5.53 KB
/
jquery.reveal.min.js
1
2
3
4
/*
reveal plug-in for jQuery, License - MIT, Copyright: 2009 Traversal - http:https://traversal.com.au
*/
(function(B){var C={triggerEvent:"click",hoverIntent:{sensitivity:3,interval:200,timeout:0},classShown:"reveal-shown",affix:null,hideOnMouseLeave:false,hideOnTargetMouseLeave:false,hideDelay:300,showDelay:300,hideSelector:".close",show:"show",hide:"hide",showOptions:{duration:0,effect:"size"},hideOptions:{duration:0,effect:"size"}};var A="reveal";B.fn[A]=function(){var F,E={},G={},D=arguments;if(D.length>=1){if(typeof (D[0])=="string"){F=D[0]}else{E=D[0]}if(D.length>=2){G=D[1]||{}}}return this.each(function(){var N,H=G,J={},P={},K=B(this);if(B.fn.metadata){P=K.metadata()}if(!F){N=K.data(A);if(!N){N={};K.data(A,N)}B.extend(true,J,C,E,P[A]||P||{});N.options=J}else{N=K.data(A);if(N){J=N.options}else{return }}N.trigger=K;var O=J.target||J.e||J.el||J.element;N.cancelHide=function(){clearTimeout(N.toHide)};N.cancelShow=function(){clearTimeout(N.toShow)};N.enter=function(S){N.cancelHide();N.toShow=setTimeout(function(){K.reveal("show",{eventTarget:S.target})},J.showDelay)};N.leave=function(S){N.cancelShow();N.toHide=setTimeout(function(){K.reveal("hide",{eventTarget:S.target})},J.hideDelay)};N.click=function(S){if(N.target.is(":visible")){K.reveal("hide",{eventTarget:S.target})}else{K.reveal("show",{eventTarget:S.target})}S.preventDefault()};if(!F){if(O){N.target=B(O).eq(0);if(N.target.length){N.target.data("reveal",{});var R=N.target.data("reveal");R.trigger=K;R.target=N.target;R.options=J;if(J.triggerEvent=="click"){K.click(N.click);if(J.hideOnMouseLeave){K.mouseenter(N.cancelHide);K.mouseleave(N.leave)}if(J.hideOnTargetMouseLeave){N.target.mouseenter(N.cancelHide);N.target.mouseleave(N.leave)}}else{if(J.triggerEvent=="hoverIntent"&&B.fn.hoverIntent){var Q=B.extend({},J.hoverIntent,{over:N.enter,out:N.leave});K.hoverIntent(Q);N.target.mouseenter(function(T){N.cancelHide();var S=K.get(0);clearTimeout(S.hoverIntent_t);S.hoverIntent_s=0});if(J.hideOnTargetMouseLeave){N.target.mouseleave(N.leave)}}else{K.mouseenter(N.enter);K.mouseleave(N.leave);N.target.mouseenter(N.cancelHide);if(J.hideOnTargetMouseLeave){N.target.mouseleave(N.leave)}}}B(J.hideSelector).click(function(S){K.reveal("hide",{eventTarget:S.target})})}}}else{if(F=="hide"){N.edata=[{element:N.target,target:N.target,eventTarget:H.eventTarget}];if(N&&N.target&&N.trigger){var I=function(){N.trigger.trigger("reveal.afterhide",N.edata);if(J.fUnposition){J.fUnposition(N.trigger,N.target)}else{if(N.target.unaffix&&J.affix){N.target.unaffix()}}if(J.hideOptions.complete){J.hideOptions.complete()}};var M=jQuery.Event("reveal.beforehide");N.trigger.trigger(M,N.edata);if(M.result!==false){N.trigger.removeClass(J.classShown);N.target.stop(true,true);if(B.ui&&J.hide=="hide"){N.target.hide(J.hideOptions.effect,J.hideOptions,J.hideOptions.speed||J.hideOptions.duration,I)}else{N.target[J.hide](B.extend(true,{complete:I},J.hideOptions))}}}}else{if(F=="show"){if(N&&N.target&&N.trigger){N.edata=[{element:N.target,target:N.target,eventTarget:H.eventTarget}];var L=function(){N.trigger.trigger("reveal.aftershow",N.edata);if(J.showOptions.complete){J.showOptions.complete()}};var M=jQuery.Event("reveal.beforeshow");N.trigger.trigger(M,N.edata);if(M.result!==false){N.trigger.addClass(J.classShown);if(J.fPosition){J.fPosition(t,r)}else{if(N.target.affix&&J.affix){if(J.affix.el||J.affix.elem||J.affix.element){N.target.affix(J.affix)}else{N.target.affix(B.extend(true,{},J.affix,{target:N.trigger}))}}}var M=jQuery.Event("reveal.afterposition");N.trigger.trigger(M,N.edata);N.target.stop(true,true);if(B.ui&&J.show=="show"){N.target.show(J.showOptions.effect,J.showOptions,J.showOptions.speed||J.showOptions.duration,L)}else{N.target[J.show](B.extend(true,{complete:L},J.showOptions))}}}}else{if(F=="hold"){N.cancelLeave()}else{if(F=="destroy"){if(J.triggerEvent=="click"){K.unbind("click",N.click);if(J.hideOnMouseLeave){K.unbind("mouseenter",cancelLeave);K.unbind("mouseleave",N.leave)}if(J.hideOnTargetMouseLeave){N.target.unbind("mouseenter",N.cancelLeave);N.target.unbind("mouseleave",N.leave)}}else{K.unbind("mouseenter",N.enter);K.unbind("mouseleave",N.leave);N.target.unbind("mouseenter",N.enter);if(J.hideOnTargetMouseLeave){N.target.unbind("mouseleave",N.leave)}}K.removeData("reveal")}}}}}})};B.fn.revealClick=function(D){return this.reveal(B.extend(true,{},D,{triggerEvent:"click"}))};B.fn.revealHover=function(D){return this.reveal(B.extend(true,{},D,{triggerEvent:"hover",hideOnTargetMouseLeave:true}))};B.fn.revealMenuHover=function(D){return this.reveal(B.extend(true,{},B.fn.reveal.presets.menuHover,D))};B.fn.revealMenuClick=function(D){return this.reveal(B.extend(true,{},B.fn.reveal.presets.menuClick,D))};B.fn.revealTooltip=function(D){return this.reveal(B.extend(true,{},B.fn.reveal.presets.tooltip,D))};B.fn[A].defaults=C;B.fn.reveal.presets={menuHover:{classShown:"menu-shown",show:"slideDown",showDelay:200,showOptions:{duration:200},hide:"slideUp",hideOptions:{duration:100},triggerEvent:"hoverIntent",hoverIntent:{interval:30},hideOnTargetMouseLeave:true,affix:{layerfix:{method:"hideSelects"},to:"sw",from:"nw",keepInWindow:false}},menuClick:{classShown:"menu-shown",show:"slideDown",showOptions:{duration:"fast"},hide:"slideUp",hideOptions:{duration:"fast"},triggerEvent:"click",hideOnTargetMouseLeave:true,affix:{layerfix:{method:"hideSelects"},to:"sw",from:"nw",keepInWindow:false}},tooltip:{classShown:"tooltip-shown",show:"fadeIn",showOptions:{duration:"fast"},hide:"fadeOut",hideOptions:{duration:"fast"},triggerEvent:"hover",hideOnTargetMouseLeave:true,affix:{layerfix:{method:"hideSelects"},to:"ne",from:"sw",keepInWindow:true}}}})(jQuery);