diff --git a/tooltipsy.min.js b/tooltipsy.min.js index 2fd699c..97142ee 100644 --- a/tooltipsy.min.js +++ b/tooltipsy.min.js @@ -13,7 +13,8 @@ (function($){$.tooltipsy=function(el,options){var base=this;base.$el=$(el);base.el=el;base.random=parseInt(Math.random()*10000);base.shown=false;base.width=0;base.height=0;base.$el.data("tooltipsy",base);base.init=function(){base.settings=$.extend({},$.tooltipsy.defaults,options);base.$el.bind('mouseenter',function(e){if(base.shown==false){base.shown=true;base.title=base.$el.attr('title')||'';base.$el.attr('title','');base.$tipsy=$('
').appendTo('body').css({position:'absolute',zIndex:'999'}).hide();base.$tip=$('
').appendTo(base.$tipsy).html(base.settings.content!=''?base.settings.content:base.title);if((function(o){var s=0,k;for(k in o){if(o.hasOwnProperty(k)){s++;}} return s;})(base.settings.css)>0){base.$tip.css(base.settings.css);} base.width=base.$tipsy.outerWidth();base.height=base.$tipsy.outerHeight();} -if(base.settings.alignTo=='cursor'){var tip_position=[e.pageX-window.pageXOffset+base.settings.offset[0],e.pageY-window.pageYOffset+base.settings.offset[1]];var tip_css={top:tip_position[1]+'px',right:$(window).width()-tip_position[0]+'px',left:'auto'};} +if(base.settings.alignTo=='cursor'){var tip_position=[e.pageX+base.settings.offset[0],e.pageY+base.settings.offset[1]];if(tip_position[0]+base.width>$(window).width())){var tip_css={top:tip_position[1]+'px',right:tip_position[0]+'px',left:'auto'};} +else{var tip_css={top:tip_position[1]+'px',left:tip_position[0]+'px',right:'auto'};}} else{var tip_position=[(function(pos){if(base.settings.offset[0]<0){return pos.left-Math.abs(base.settings.offset[0])-base.width;} else if(base.settings.offset[0]==0){return pos.left-((base.width-base.$el.outerWidth())/2);} else{return pos.left+base.$el.outerWidth()+base.settings.offset[0];}})(base.$el.offset()),(function(pos){if(base.settings.offset[1]<0){return pos.top-Math.abs(base.settings.offset[1])-base.height;} diff --git a/tooltipsy.source.js b/tooltipsy.source.js index 48f169e..462fd39 100644 --- a/tooltipsy.source.js +++ b/tooltipsy.source.js @@ -50,8 +50,13 @@ } if (base.settings.alignTo == 'cursor') { - var tip_position = [e.pageX - window.pageXOffset + base.settings.offset[0], e.pageY - window.pageYOffset + base.settings.offset[1]]; - var tip_css = {top: tip_position[1] + 'px', right: $(window).width() - tip_position[0] + 'px', left: 'auto'}; + var tip_position = [e.pageX + base.settings.offset[0], e.pageY + base.settings.offset[1]]; + if(tip_position[0] + base.width > $(window).width())) { + var tip_css = {top: tip_position[1] + 'px', right: tip_position[0] + 'px', left: 'auto'}; + } + else { + var tip_css = {top: tip_position[1] + 'px', left: tip_position[0] + 'px', right: 'auto'}; + } } else { var tip_position = [