jQuery.offset()的行为相当糟糕

jQuery .offset() is behaving rather poorly

本文关键字:offset jQuery      更新时间:2024-01-20

所以我在<td>元素中有这个<div class="help">(一个帮助框或您称之为它的东西)。帮助框最初不显示,但当悬停在<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有关。

帮助一个高大英俊的瑞典人?

根据注释:

看我的小提琴http://jsfiddle.net/gRoberts/h3T6u/它展示了如何使用css和position属性来实现您想要做的事情。

希望能有所帮助;)