jQuery offset(); 是否对 td 细胞有效吗?
我试图在表格中几个 td 单元格的左侧稍微弹出一个工具提示:
$('table.seafood td.prod4').hover(function() {
var offset = $(this).offset();
$("div.peekSeafood4").fadeIn(200);
$("div.peekSeafood4").css('left', offset.left + 'px');
}, function() {
$("div.peekSeafood4").fadeOut(200);
});
它不起作用,将工具提示扔到屏幕一侧很远的地方。
offset();
不适用于 td 单元格/表格吗?
I'm trying to have a tool tip pop-up just slightly to the left of a couple of td cells in a table:
$('table.seafood td.prod4').hover(function() {
var offset = $(this).offset();
$("div.peekSeafood4").fadeIn(200);
$("div.peekSeafood4").css('left', offset.left + 'px');
}, function() {
$("div.peekSeafood4").fadeOut(200);
});
It's not working, throwing the tooltips far off to the side of the screen.
Does offset();
not work with td cells/tables?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,
offset()
适用于表格单元格。 这个演示将向您展示它在最基本的级别上的工作原理。我怀疑问题出在
$("div.peekSeafood4")
上,它将相对于其offsetParent
元素定位 - 您可能需要确保匹配元素的 offsetParent
是元素。
正如 @patrick_dw 之前指出的,也有可能
position()
会给你正确的结果,具体取决于工具提示弹出窗口在 DOM 中的位置。Yes,
offset()
works with table cells. This demo will show you it working at the most basic level.I suspect the problem lies with
$("div.peekSeafood4")
, which will be positioned relative to itsoffsetParent
element - you might need to make sure that theoffsetParent
for the matching element is the<body>
element.As @patrick_dw pointed out earlier, there's also the possibility that
position()
would give you the correct results, depending on where your tool tip pop-up is placed in the DOM.