jQuery 偏移量在某些页面上计算不正确
jQuery offset is not calculating correctly on some pages
我正在使用jQuery offset().top
从文档窗口顶部计算超链接的像素,以便在悬停时,工具提示可以出现在其上方。
默认情况下,工具提示的 css 的绝对位置为前 0 和左 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"});
});
而不是
absolute
尝试将fixed
用于弹出元素。如果你没有任何不必要的填充应用于body
,那么 offset().top 应该可以工作
如果仍然不准确而不是 .offset().top 给一个机会 https://developer.mozilla.org/en-US/docs/Web/API/element.getBoundingClientRect
.offset()
有以下限制:
注意:jQuery 不支持获取隐藏元素的偏移坐标,也不支持考虑在正文元素上设置的边框、边距或填充。
所以你的jQuery可能是正确的,但是如果你的身体上有一些填充/边距,你会遇到不正确的偏移量。删除它或将其包含在计算中:
var bodyOffset = $('body').css("margin-top") + $('body').css('padding-top') + $('body').css('border-top');
var calc = $(this).offset().top + bodyOffset;
相关文章:
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 在 javascript 中计算不正确的问题
- date.js计算不正确
- jQuery重新计算总计和值,但最终总数不正确
- 在瞬间js中计算周数不正确
- jQuery 偏移量在某些页面上计算不正确
- 计算字符串时答案不正确
- 年龄计算不正确
- 为什么我在 JavaScript 中得到这个不正确的算术计算
- 使用点后有四位数字的十进制值计算中的结果不正确
- 当文本具有特殊字符时,offsetWidth计算不正确
- 使用Javascript从输入数组中查找平均值-计算不正确
- JavaScript计算结果不正确
- Ng-if表达式计算不正确
- 罗马数字转换情况不正确计算
- computeDistanceBetween似乎计算不正确
- 文本框值计算不正确
- 沙狐不正确地计算高度
- If语句计算不正确
- 使用用户输入的Javascript梯形区域计算,结果不正确