You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

0 lines
28 KiB

2 years ago
  1. function jBox(e,t){this.options={id:null,width:"auto",height:"auto",attach:null,trigger:"click",preventDefault:false,title:null,content:null,getTitle:null,getContent:null,ajax:null,data:"",reload:false,target:null,position:{x:"center",y:"center"},outside:null,offset:0,attributes:{x:"left",y:"top"},adjustPosition:false,adjustTracker:false,adjustDistance:5,fixed:false,reposition:false,pointer:false,fade:180,animation:null,theme:"Default",addClass:"",overlay:false,zIndex:1e4,delayOpen:0,delayClose:0,closeOnEsc:false,closeOnClick:false,closeOnMouseleave:false,closeButton:false,constructOnInit:false,blockScroll:false,appendTo:jQuery("body"),draggable:null,onInit:function(){},onCreated:function(){},onOpen:function(){},onClose:function(){},onAjax:function(){},onAjaxComplete:function(){},autoClose:7e3,color:null,stack:true,audio:false,volume:100};this.defaultOptions={Tooltip:{getContent:"title",trigger:"mouseenter",position:{x:"center",y:"top"},outside:"y",pointer:true,adjustPosition:true,reposition:true},Mouse:{target:"mouse",position:{x:"right",y:"bottom"},offset:15,trigger:"mouseenter",adjustPosition:"flip"},Modal:{target:jQuery(window),fixed:true,blockScroll:true,closeOnEsc:true,closeOnClick:"body",closeButton:"title",overlay:true,animation:"zoomOut"},Notice:{target:jQuery(window),fixed:true,position:{x:20,y:20},attributes:{x:"right",y:"top"},animation:"zoomIn",closeOnClick:"box",_onInit:function(){this.open();this.options.delayClose=this.options.autoClose;this.options.delayClose&&this.close()}.bind(this),_onCreated:function(){this.options.color&&this.wrapper.addClass("jBox-Notice-color jBox-Notice-"+this.options.color)},_onOpen:function(){jQuery.each(jQuery(".jBox-Notice"),function(e,t){t=jQuery(t);if(t.attr("id")==this.id||t.css(this.options.attributes.y)=="auto"||t.css(this.options.attributes.x)=="auto")return;if(!this.options.stack){t.data("jBox").close({ignoreDelay:true});return}t.css("margin-"+this.options.attributes.y,parseInt(t.css("margin-"+this.options.attributes.y))+this.dimensions.y+10)}.bind(this));if(this.options.audio&&!this.IE8){this.audio=jQuery("<audio/>");jQuery("<source/>",{src:this.options.audio+".mp3"}).appendTo(this.audio);jQuery("<source/>",{src:this.options.audio+".ogg"}).appendTo(this.audio);this.audio[0].volume=Math.min(this.options.volume/100,1);this.audio[0].play()}}.bind(this),_onCloseComplete:function(){this.destroy()}.bind(this)}};if(jQuery.type(e)=="string"){this.type=e;e=this.defaultOptions[e]}this.options=jQuery.extend(this.options,e,t);if(this.options.id===null){var n=1;while(jQuery("#jBox"+n).length!=0)n++;this.options.id="jBox"+n}this.id=this.options.id;(this.options.position.x=="center"&&this.options.outside=="x"||this.options.position.y=="center"&&this.options.outside=="y")&&(this.options.outside=false);(!this.options.outside||this.options.outside=="xy")&&(this.options.pointer=false);jQuery.type(this.options.offset)!="object"&&(this.options.offset={x:this.options.offset,y:this.options.offset});this.options.offset.x||(this.options.offset.x=0);this.options.offset.y||(this.options.offset.y=0);jQuery.type(this.options.adjustDistance)!="object"&&(this.options.adjustDistance={top:this.options.adjustDistance,right:this.options.adjustDistance,bottom:this.options.adjustDistance,left:this.options.adjustDistance});this.align=this.options.outside&&this.options.outside!="xy"?this.options.position[this.options.outside]:this.options.position.y!="center"&&jQuery.type(this.options.position.y)!="number"?this.options.position.x:this.options.position.x!="center"&&jQuery.type(this.options.position.x)!="number"?this.options.position.y:this.options.attributes.x;this.options.outside&&this.options.outside!="xy"&&(this.outside=this.options.position[this.options.outside]);var r=navigator.userAgent.toLowerCase();this.IE8=r.indexOf("msie")!=-1&&parseInt(r.split("msie")[1])==8;this.prefix=r.indexOf("webkit")!=-1?"-webkit-":"";this._getOpp=function(e){return{left:"right",right:"left",top:"bottom",bottom:"top",x:"y",y:"x"}[e]};this._getXY=function(e){return{left:"x",right:"x",top:"y",bottom:"y",center:"x"}[e]};this.