javascript - jQuery 偏移量在某些页面上计算不正确

标签 javascript jquery html css

我正在使用 jQuery offset().top 从文档窗口的顶部计算超链接的像素,以便在悬停时,工具提示会出现在其上方。

默认情况下,工具提示的 css 的绝对位置为 top 0 和 left 0。当链接悬停时,它会计算它从文档顶部开始的位置,并将其用作工具提示的 css 顶部位置。

问题在于,在某些页面上,偏移量完美地计算了链接的位置,而在其他页面上,它大约多了 50 像素。我不明白为什么。

$(".tiptrigger").mouseenter(function() { 
    var s_id = $(this).attr('id');
    var calc = $(this).offset().top; 
    $("#tip-"+s_id).css({"margin-top": calc+"px"});
});

最佳答案

尝试使用 fixed 作为弹出元素,而不是 absolute。如果您没有对 body

应用任何不必要的填充,那么 offset().top 应该可以工作

如果代替 .offset().top 仍然不准确,请给机会 https://developer.mozilla.org/en-US/docs/Web/API/element.getBoundingClientRect

关于javascript - jQuery 偏移量在某些页面上计算不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19812211/

相关文章:

javascript - 如何在 ReactJs 中的 css import 中传递变量

javascript - 购物车数量变化时动态改变小计

javascript - 为其他页面预加载外部文件(CSS、JavaScript)

php/jquery 搜索框

html - Bootstrap 改变背景色

javascript - 我可以在 Internet Explorer 中将整个 HTML 文档加载到文档片段中吗?

JavaScript - 有没有办法检查字符串是否包含关键字但仅包含该关键字?

javascript - 分区隐藏在 jquery 中不起作用

javascript - Webpack:./~/sqlite3/~/node-pre-gyp/lib/node-pre-gyp.js 中的错误未找到模块:错误:无法解析 'file' 或 'directory' ../package

javascript - 隐藏具有指定 id 的元素