jQuery工具工具提示,绝对和保证金的位置

我正在使用jquery插件: Tools.tooltip()似乎定位确实是一个问题。

当工具提示被包装在一个位置为绝对的容器中时,您需要在conf字典中添加relative:true ,以便正确定位工具提示。

现在的问题是:如果你同时拥有一个position:absolute包装以及带边距的工具提示触发器,则位置将被搞砸

    .trigger { width:100px; height:40px; background-color:red; margin:5px; position:relative; } .tooltip { display:none; color:white; background-color:#333; padding:10px; border-radius:3px; }  
hover to see the tooltip
The awesome tooltip
$('.trigger').tooltip({ position:'bottom center', relative:true, });

工具提示应该显示在触发器下方并且在这种情况下居中。 但是当鼠标hover在触发器(红色框)上时,工具提示(灰色框)显示在此位置:

在此处输入图像描述

好像边际被完全忽略了。 另外,如果我根本不使用margin(只有一个position的包装器:绝对并且在conf中使用relative:true),工具提示仍会显示在一个奇怪的位置:

在此处输入图像描述

与正确位置相比,工具提示略微向左和向上,我不知道。

我该如何解决这个问题? 非常感谢! 🙂

所以,如果有人想使用jQuery工具工具提示:

  • 如果工具提示包含在’position:absolute’或’position:fixed’容器中,请使用ini配置提供’relative:true’。
  • 在这种情况下,请勿在工具提示的触发器中添加任何边距

我让你有点小提琴,“kindda”解决了你的问题。

在这个小提琴中,工具提示位于触发器下方,但需要x个“hover”才能使其100%正确放置。 我认为这是由工具提示库中的某些(错误)function引起的。

这是小提琴: http : //jsfiddle.net/Gjw74/1/

和修改后的javascript:

 $('.trigger').tooltip({ position:'bottom center', relative:true, onShow: function(){ var $trigger = this.getTrigger(); this.getTip().css({ 'margin-top' : $trigger.css('margin-top'), 'margin-left' : $trigger.css('margin-left') }); } });