所以我在使用 jquery 放置悬停工具提示时遇到了一点问题 - 如果我的 CSS 中父 div 的“位置”属性设置为“相对”,那么工具提示会飞到屏幕的左上角。如果我删除位置属性,那么一切都很好,工具提示又回来了。
我不太了解jQuery 或 css 定位规则,所以问题是:
- 为什么 position:relative 会弄乱 jQuery 工具提示的位置?
- 如果我确实需要职位:相对(我不需要),我能做些什么来解决这个问题?
相关代码是:
$("yay").hover(
function(){
// .position() uses position relative to the offset parent,
var pos = $(this).position();
// .outerWidth() takes into account border and padding.
var width = $(this).outerWidth();
var messageToLoad = dumpArray[$(this).attr('class')];
$(messageToLoad).css({
left: (pos.left + width) + "px",
top: pos.top + "px",
position: "absolute",
"visibility":"visible",
"display":"inline"
});
},
然后(有问题的)CSS是:
.content {
margin: 0 0 0 35px;
position:relative;
}
html是:
...
<tr class="PostOdd">
<td>
<div class="contents">
<div class="content">
<p> Brand new post goes here</p>
<p class="postDate">June 15, 2012, 4:02 a.m.</p>
<p class="options">
<a href="/comments/1/1">
<img class="yay" src="/static_files/chat-icon.png">
</a>
</p>
</div>
</div>
...
更新:
一个。我只使用 jquery,根本没有其他 java 插件
湾。如果我在 css 文件中删除父级的“位置”属性,那么一切正常。实际上,我已经删除了它,所以这对我来说与其说是好奇不如说是个问题。我正在处理另一部分 - 如果在我完成该部分时我没有得到答案,我将制作一个 jfiddle 演示