jQuery-offset().left为浮动元素传递错误的值
我在导航标签中浮动了元素。当我使用offset()函数时,会得到位置的奇怪浮点值,这些值是不正确的。这里怎么了 HTML JSjQuery-offset().left为浮动元素传递错误的值,jquery,html,css,Jquery,Html,Css,我在导航标签中浮动了元素。当我使用offset()函数时,会得到位置的奇怪浮点值,这些值是不正确的。这里怎么了 HTML JS 偏移量实际上返回的是正确的值,因为您的字体,因此您的nav,在像素上没有完全对齐。下面是如何获取“真实”导航宽度的方法: $("nav")[0].getBoundingClientRect().width 将元素A的左偏移量添加到nav的宽度中,您会发现添加效果非常好。明显的差异是元素A上的30px边距,它不包括在元素A的偏移量中,但包括在nav的宽度中 减去30p
偏移量实际上返回的是正确的值,因为您的字体,因此您的
nav
,在像素上没有完全对齐。下面是如何获取“真实”导航宽度的方法:
$("nav")[0].getBoundingClientRect().width
将元素A的左偏移量添加到nav
的宽度中,您会发现添加效果非常好。明显的差异是元素A上的30px边距,它不包括在元素A的偏移量中,但包括在nav
的宽度中
减去30px后,你会得到物体的宽度
如果要删除小数点右侧的数字,可以使用以下函数之一,具体取决于所需内容:
将四舍五入到最接近的整数Math.round()
将向下取整Math.floor()
将向下取整Math.ceil()
让我知道这对您是否有意义。在我的例子中,值是错误的,因为需要$(document).ready和setTimeout来获得正确的值
#navi {
height: 60px;
width: 100%;
position: relative;
clear: both;
background: lightgrey;
}
.logo {
float: left;
margin-left: 0;
}
nav {
position: relative;
float: right;
}
a{
margin-left: 30px;
}
$('a').eq(1).offset().left
$("nav")[0].getBoundingClientRect().width