jQuery .offset()表现得相当糟糕

时间:2012-07-24 13:08:05

标签: javascript jquery css

所以我在<div class="help">元素中有这个<td>(一个帮助框或你会称之为什么)。最初不会显示帮助框,但在将鼠标悬停在<td>上时会弹出帮助框。帮助框的定位是通过jQuery完成的,通过这个小片段:

var $help = $that.add($cousin).find("div.help").first();
var height = $help.parent().siblings().first().height();
$help.offset({
    top: $help.parent().offset().top + height,
    left: $help.parent().offset().left
});
$help.css("display", "block");

我发现如果我们有一个帮助框,当悬停<td>单元格时,获取<td>的第一个兄弟的第一个高度,然后重新定位。这实际上有效!

......第一次。当再次悬停<td>时,帮助框似乎位于屏幕外部,因为我看到一个水平滚动条,每次我悬停时其宽度都会增加。所以我想我使用.offset()时出了问题。帮助<div>position: absolute,但我认为这与CSS无关。

帮助一个高大帅气的瑞典人出去?

1 个答案:

答案 0 :(得分:1)

根据评论:

请参阅我的小提琴http://jsfiddle.net/gRoberts/h3T6u/,其中显示了如何使用css和position属性来实现您的目标。

希望有所帮助;)