-
Notifications
You must be signed in to change notification settings - Fork 117
Expand file tree
/
Copy pathtipso.min.js
More file actions
1 lines (1 loc) · 10.2 KB
/
tipso.min.js
File metadata and controls
1 lines (1 loc) · 10.2 KB
1
!function(a,b,c,d){function e(d,e){this.element=a(d),this.doc=a(c),this.win=a(b),this.settings=a.extend({},j,e),this._defaults=j,this._name=i,this._title=this.element.attr("title"),this.mode="hide",this.ieFade=!k,this.init()}function f(){var a=b.navigator.msMaxTouchPoints,d="ontouchstart"in c.createElement("div");return a||d?!0:!1}function g(b){var c=b.clone();c.css("visibility","hidden"),a("body").append(c);var d=c.outerHeight(),e=c.outerWidth();return c.remove(),{width:e,height:d}}function h(c){var d,e,f,h=c.tooltip(),i=c.element,j=c,k=a(b),l=10;switch(i.parent().outerWidth()>k.outerWidth()&&(k=i.parent()),j.settings.position){case"top":e=i.offset().left+i.outerWidth()/2-g(h).width/2,d=i.offset().top-g(h).height-l,h.find(".tipso_arrow").css({marginLeft:-8,marginTop:""}),d<k.scrollTop()?(d=i.offset().top+i.outerHeight()+l,h.find(".tipso_arrow").css({"border-bottom-color":j.settings.background,"border-top-color":"transparent","border-left-color":"transparent","border-right-color":"transparent"}),h.removeClass("top bottom left right"),h.addClass("bottom")):(h.find(".tipso_arrow").css({"border-top-color":j.settings.background,"border-bottom-color":"transparent","border-left-color":"transparent","border-right-color":"transparent"}),h.removeClass("top bottom left right"),h.addClass("top"));break;case"bottom":e=i.offset().left+i.outerWidth()/2-g(h).width/2,d=i.offset().top+i.outerHeight()+l,h.find(".tipso_arrow").css({marginLeft:-8,marginTop:""}),d+g(h).height>k.scrollTop()+k.outerHeight()?(d=i.offset().top-g(h).height-l,h.find(".tipso_arrow").css({"border-top-color":j.settings.background,"border-bottom-color":"transparent","border-left-color":"transparent","border-right-color":"transparent"}),h.removeClass("top bottom left right"),h.addClass("top")):(h.find(".tipso_arrow").css({"border-bottom-color":j.settings.background,"border-top-color":"transparent","border-left-color":"transparent","border-right-color":"transparent"}),h.removeClass("top bottom left right"),h.addClass(j.settings.position));break;case"left":e=i.offset().left-g(h).width-l,d=i.offset().top+i.outerHeight()/2-g(h).height/2,h.find(".tipso_arrow").css({marginTop:-8,marginLeft:""}),e<k.scrollLeft()?(e=i.offset().left+i.outerWidth()+l,h.find(".tipso_arrow").css({"border-right-color":j.settings.background,"border-left-color":"transparent","border-top-color":"transparent","border-bottom-color":"transparent"}),h.removeClass("top bottom left right"),h.addClass("right")):(h.find(".tipso_arrow").css({"border-left-color":j.settings.background,"border-right-color":"transparent","border-top-color":"transparent","border-bottom-color":"transparent"}),h.removeClass("top bottom left right"),h.addClass(j.settings.position));break;case"right":e=i.offset().left+i.outerWidth()+l,d=i.offset().top+i.outerHeight()/2-g(h).height/2,h.find(".tipso_arrow").css({marginTop:-8,marginLeft:""}),e+l+j.settings.width>k.scrollLeft()+k.outerWidth()?(e=i.offset().left-g(h).width-l,h.find(".tipso_arrow").css({"border-left-color":j.settings.background,"border-right-color":"transparent","border-top-color":"transparent","border-bottom-color":"transparent"}),h.removeClass("top bottom left right"),h.addClass("left")):(h.find(".tipso_arrow").css({"border-right-color":j.settings.background,"border-left-color":"transparent","border-top-color":"transparent","border-bottom-color":"transparent"}),h.removeClass("top bottom left right"),h.addClass(j.settings.position))}e<k.scrollLeft()&&("bottom"==j.settings.position||"top"==j.settings.position)&&(h.find(".tipso_arrow").css({marginLeft:e-8}),e=0),e+j.settings.width>k.outerWidth()&&("bottom"==j.settings.position||"top"==j.settings.position)&&(f=k.outerWidth()-(e+j.settings.width),h.find(".tipso_arrow").css({marginLeft:-f-8,marginTop:""}),e+=f),e<k.scrollLeft()&&("left"==j.settings.position||"right"==j.settings.position)&&(e=i.offset().left+i.outerWidth()/2-g(h).width/2,h.find(".tipso_arrow").css({marginLeft:-8,marginTop:""}),d=i.offset().top-g(h).height-l,d<k.scrollTop()?(d=i.offset().top+i.outerHeight()+l,h.find(".tipso_arrow").css({"border-bottom-color":j.settings.background,"border-top-color":"transparent","border-left-color":"transparent","border-right-color":"transparent"}),h.removeClass("top bottom left right"),h.addClass("bottom")):(h.find(".tipso_arrow").css({"border-top-color":j.settings.background,"border-bottom-color":"transparent","border-left-color":"transparent","border-right-color":"transparent"}),h.removeClass("top bottom left right"),h.addClass("top")),e+j.settings.width>k.outerWidth()&&(f=k.outerWidth()-(e+j.settings.width),h.find(".tipso_arrow").css({marginLeft:-f-8,marginTop:""}),e+=f),e<k.scrollLeft()&&(h.find(".tipso_arrow").css({marginLeft:e-8}),e=0)),e+j.settings.width>k.outerWidth()&&("left"==j.settings.position||"right"==j.settings.position)&&(e=i.offset().left+i.outerWidth()/2-g(h).width/2,h.find(".tipso_arrow").css({marginLeft:-8,marginTop:""}),d=i.offset().top-g(h).height-l,d<k.scrollTop()?(d=i.offset().top+i.outerHeight()+l,h.find(".tipso_arrow").css({"border-bottom-color":j.settings.background,"border-top-color":"transparent","border-left-color":"transparent","border-right-color":"transparent"}),h.removeClass("top bottom left right"),h.addClass("bottom")):(h.find(".tipso_arrow").css({"border-top-color":j.settings.background,"border-bottom-color":"transparent","border-left-color":"transparent","border-right-color":"transparent"}),h.removeClass("top bottom left right"),h.addClass("top")),e+j.settings.width>k.outerWidth()&&(f=k.outerWidth()-(e+j.settings.width),h.find(".tipso_arrow").css({marginLeft:-f-8,marginTop:""}),e+=f),e<k.scrollLeft()&&(h.find(".tipso_arrow").css({marginLeft:e-8}),e=0)),h.css({left:e+j.settings.offsetX,top:d+j.settings.offsetY})}var i="tipso",j={speed:400,background:"#55b555",color:"#ffffff",position:"top",width:200,maxWidth:"",delay:200,animationIn:"",animationOut:"",offsetX:0,offsetY:0,tooltipHover:!1,content:null,ajaxContentUrl:null,useTitle:!0,onBeforeShow:null,onShow:null,onHide:null};a.extend(e.prototype,{init:function(){var a=this,b=this.element,c=this.doc;if(b.addClass("tipso_style").removeAttr("title"),f())b.on("click."+i,function(b){"hide"==a.mode?a.show():a.hide(),b.stopPropagation()}),c.on("click",function(){"show"==a.mode&&a.hide()});else if(a.settings.tooltipHover){var d=null,e=null;b.on("mouseover."+i,function(){clearTimeout(d),clearTimeout(e),e=setTimeout(function(){a.show()},150)}),b.on("mouseout."+i,function(){clearTimeout(d),clearTimeout(e),d=setTimeout(function(){a.hide()},200),a.tooltip().on("mouseover."+i,function(){a.mode="tooltipHover"}).on("mouseout."+i,function(){a.mode="show",clearTimeout(d),d=setTimeout(function(){a.hide()},200)})})}else b.on("mouseover."+i,function(){a.show()}),b.on("mouseout."+i,function(){a.hide()})},tooltip:function(){return this.tipso_bubble||(this.tipso_bubble=a('<div class="tipso_bubble"><div class="tipso_content"></div><div class="tipso_arrow"></div></div>')),this.tipso_bubble},show:function(){var c=this.tooltip(),d=this,e=this.win;"hide"==d.mode&&(a.isFunction(d.settings.onBeforeShow)&&d.settings.onBeforeShow(a(this)),d.settings.width?c.css({background:d.settings.background,color:d.settings.color,width:d.settings.width}).hide():d.settings.maxWidth?c.css({background:d.settings.background,color:d.settings.color,maxWidth:d.settings.maxWidth}).hide():c.css({background:d.settings.background,color:d.settings.color,width:200}).hide(),c.find(".tipso_content").html(d.content()),h(d),e.resize(function(){h(d)}),d.timeout=b.setTimeout(function(){d.ieFade||""===d.settings.animationIn||""===d.settings.animationOut?c.appendTo("body").stop(!0,!0).fadeIn(d.settings.speed,function(){d.mode="show",a.isFunction(d.settings.onShow)&&d.settings.onShow(a(this))}):c.remove().appendTo("body").stop(!0,!0).removeClass("animated "+d.settings.animationOut).addClass("noAnimation").removeClass("noAnimation").addClass("animated "+d.settings.animationIn).fadeIn(d.settings.speed,function(){a(this).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){a(this).removeClass("animated "+d.settings.animationIn)}),d.mode="show",a.isFunction(d.settings.onShow)&&d.settings.onShow(a(this)),e.off("resize",null,"tipsoResizeHandler")})},d.settings.delay))},hide:function(){var c=this,d=this.win;tipso_bubble=this.tooltip(),b.clearTimeout(c.timeout),c.timeout=null,"tooltipHover"!=c.mode&&(c.ieFade||""===c.settings.animationIn||""===c.settings.animationOut?tipso_bubble.stop(!0,!0).fadeOut(c.settings.speed,function(){a(this).remove(),a.isFunction(c.settings.onHide)&&"show"==c.mode&&c.settings.onHide(a(this)),c.mode="hide",d.off("resize",null,"tipsoResizeHandler")}):tipso_bubble.stop(!0,!0).removeClass("animated "+c.settings.animationIn).addClass("noAnimation").removeClass("noAnimation").addClass("animated "+c.settings.animationOut).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){a(this).removeClass("animated "+c.settings.animationOut).remove(),a.isFunction(c.settings.onHide)&&"show"==c.mode&&c.settings.onHide(a(this)),c.mode="hide",d.off("resize",null,"tipsoResizeHandler")}))},destroy:function(){var a=this.element,b=this.win,c=this.doc;a.off("."+i),b.off("resize",null,"tipsoResizeHandler"),f()&&c.off("click",null,"closeTipso"),a.removeData(i),a.removeClass("tipso_style").attr("title",this._title)},content:function(){var b,c=this.element,d=this,e=this._title;return b=d.settings.ajaxContentUrl?a.ajax({type:"GET",url:d.settings.ajaxContentUrl,async:!1}).responseText:d.settings.content?d.settings.content:d.settings.useTitle===!0?e:c.data("tipso")},update:function(a,b){var c=this;return b?void(c.settings[a]=b):c.settings[a]}});var k=function(){var a=c.createElement("p").style,b=["ms","O","Moz","Webkit"];if(""==a.transition)return!0;for(;b.length;)if(b.pop()+"Transition"in a)return!0;return!1}();a[i]=a.fn[i]=function(b){var c=arguments;if(b===d||"object"==typeof b)return this instanceof a||a.extend(j,b),this.each(function(){a.data(this,"plugin_"+i)||a.data(this,"plugin_"+i,new e(this,b))});if("string"==typeof b&&"_"!==b[0]&&"init"!==b){var f;return this.each(function(){var d=a.data(this,"plugin_"+i);d||(d=a.data(this,"plugin_"+i,new e(this,b))),d instanceof e&&"function"==typeof d[b]&&(f=d[b].apply(d,Array.prototype.slice.call(c,1))),"destroy"===b&&a.data(this,"plugin_"+i,null)}),f!==d?f:this}}}(jQuery,window,document);