Files
g.hnyhua.cn/Mtxfw.VipSite/Scripts/jquery.popupoverlay.min.js

9 lines
7.8 KiB
JavaScript
Raw Normal View History

/*!
* jQuery Popup Overlay
*
* @version 1.6.0
* @requires jQuery v1.7.1+
* @link http://vast-engineering.github.com/jquery-popup-overlay/
*/
!function(t){var e,i=t(window),o={},n=[],a=[],s=!1,p=!1,l=null,d=null,c=null,r=null,u="_open",f="_close",h=null,v={_init:function(e){var i=t(e),o=i.data("popupoptions");a[e.id]=!1,n[e.id]=0,i.data("popup-initialized")||(i.attr("data-popup-initialized","true"),v._initonce(e)),o.autoopen&&setTimeout(function(){v.show(e,0)},0)},_initonce:function(i){var o,n=t("body"),a=$el.data("popupoptions");if(r=parseInt(n.css("margin-right"),10),"tooltip"==a.type&&(a.background=!1,a.scrolllock=!1),a.scrolllock){var s,p;"undefined"==typeof e&&(s=t('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"),p=s.children(),e=p.innerWidth()-p.height(99).innerWidth(),s.remove())}if($el.attr("id")||$el.attr("id","j-popup-"+parseInt(1e8*Math.random())),$el.addClass("popup_content"),n.prepend(i),$el.wrap('<div id="'+i.id+'_wrapper" class="popup_wrapper" />'),o=t("#"+i.id+"_wrapper"),o.css({opacity:0,visibility:"hidden",position:"absolute",overflow:"auto"}),$el.css({opacity:0,visibility:"hidden",display:"inline-block"}),a.setzindex&&!a.autozindex&&o.css("z-index","2001"),a.outline||$el.css("outline","none"),a.transition&&($el.css("transition",a.transition),o.css("transition",a.transition)),t(i).attr("aria-hidden",!0),a.background&&!t("#"+i.id+"_background").length){var l='<div id="'+i.id+'_background" class="popup_background"></div>';n.prepend(l);var d=t("#"+i.id+"_background");d.css({opacity:0,visibility:"hidden",backgroundColor:a.color,position:"fixed",top:0,right:0,bottom:0,left:0}),a.setzindex&&!a.autozindex&&d.css("z-index","2000"),a.transition&&d.css("transition",a.transition)}"overlay"==a.type&&($el.css({textAlign:"left",position:"relative",verticalAlign:"middle"}),o.css({position:"fixed",top:0,right:0,left:0,bottom:0,textAlign:"center"}),o.append('<div class="popup_align" />'),t(".popup_align").css({display:"inline-block",verticalAlign:"middle",height:"100%"})),$el.attr("role","dialog");var c=a.openelement?a.openelement:"."+i.id+u;t(c).each(function(e,i){t(i).attr("data-popup-ordinal",e),t(i).attr("id")||t(i).attr("id","open_"+parseInt(1e8*Math.random(),10))}),$el.attr("aria-labelledby")||$el.attr("aria-label")||$el.attr("aria-labelledby",t(c).attr("id")),t(document).on("click",c,function(e){if(!$el.data("popup-visible")){var o=t(this).data("popup-ordinal");setTimeout(function(){v.show(i,o)},0),e.preventDefault()}});var h=a.closeelement?a.closeelement:"."+i.id+f;t(document).on("click",h,function(t){v.hide(i),t.preventDefault()}),a.detach?$el.hide().detach():o.hide()},show:function(o,u){var f=t(o);if(!f.data("popup-visible")){f.data("popup-initialized")||v._init(o),f.attr("data-popup-initialized","true");var g=t("body"),m=f.data("popupoptions"),y=t("#"+o.id+"_wrapper"),_=t("#"+o.id+"_background");if(b(o,u,m.beforeopen),a[o.id]=u,m.detach?(y.prepend(o),f.show()):y.show(),setTimeout(function(){y.css({visibility:"visible",opacity:1}),t("html").addClass("popup_visible").addClass("popup_visible_"+o.id),f.addClass("popup_content_visible")},20),f.css({visibility:"visible",opacity:1}),m.scrolllock&&(g.css("overflow","hidden"),g.height()>i.height()&&g.css("margin-right",r+e)),setTimeout(function(){s||(m.keepfocus&&t(document).on("focusin",l),m.blur&&t(document).on("click",d),m.escape&&t(document).on("keydown",c)),s?p=!0:s=!0},0),f.data("popup-visible",!0),v.reposition(o,u),m.background&&(_.css({visibility:"visible",opacity:m.opacity}),setTimeout(function(){_.css({opacity:m.opacity})},0)),h=document.activeElement,m.keepfocus&&(f.attr("tabindex",-1),setTimeout(function(){m.focuselement?t(m.focuselement).focus():f.focus()},m.focusdelay),l=function(t){var e=document.getElementById(o.id);e.contains(t.target)||(t.stopPropagation(),e.focus())}),m.autozindex){for(var k=document.getElementsByTagName("*"),w=k.length,$=0,z=0;w>z;z++){var x=t(k[z]).css("z-index");"auto"!==x&&(x=parseInt(x),x>$&&($=x))}n[o.id]=$,n[o.id]>0&&y.css({zIndex:n[o.id]+2}),m.background&&n[o.id]>0&&t("#"+o.id+"_background").css({zIndex:n[o.id]+1})}m.blur&&(d=function(e){t(e.target).parents().andSelf().is("#"+o.id)||v.hide(o)}),m.escape&&(c=function(t){27==t.keyC