【发布时间】:2011-12-02 11:09:31
【问题描述】:
我正在使用jquery插件:Tools.tooltip() 看来定位确实是个问题。
当工具提示用 position:absolute 包装在某个容器中时,您需要在 conf 字典中添加 relative:true 以便正确定位工具提示。
现在的问题是:如果您同时拥有 position:absolute 包装器以及带有边距的工具提示触发器,则位置将会混乱
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script src="http://cdn.jquerytools.org/1.2.6/all/jquery.tools.min.js"></script>
<style>
.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;
}
</style>
<div class='wrapper' style='position:absolute;left:100px;top:100px'>
<div class='trigger' style='margin-top:100px;margin-left:100px'>
hover to see the tooltip
</div>
<div class='tooltip'>
The awesome tooltip
</div>
</div>
<script type='text/javascript'>
$('.trigger').tooltip({
position:'bottom center',
relative:true,
});
</script>
在这种情况下,工具提示应该显示在触发器下方并居中。但是当鼠标悬停在触发器(红色框)上时,工具提示(灰色框)显示在这个位置:
好像边距被完全忽略了。另外,如果我根本不使用边距(只有 position:absolute 的包装并在 conf 中使用 relative:true),工具提示仍然显示在一个奇怪的位置:
与正确位置相比,工具提示有点偏左和顶部,我不知道。
我该如何解决这个问题?非常感谢! :)
【问题讨论】:
-
位置怎么乱了?工具提示是相对于
.trigger还是.wrapper定位的?您是否可以提供一个工作示例或其他内容来说明问题的扩展,那会很好。因为我在想,使用工具提示库的offset属性可以解决一些问题。 -
我只是稍微编辑了一下并放了一些图片,希望它看起来更清晰。如果使用偏移量,我需要为每个不同的边距指定它,这对我不利。
标签: jquery tooltip jquery-tools