2017-08-12 89 views
0

目前我试图加快我的代码与重构从jQuery纯JSjQuery offset()。left vs offsetLeft

我知道还有一些关于此的线程,但我找不到与我的问题等同的任何线索。

现在我在这里我想与offsetLeft得到相同值的点,而不是使用offset().left

有谁知道一个简单的解释如何计算正确的价值?

回答

1

可以使用getBoundingClientRect函数来获取这样的信息:

console.log(document.getElementById('h1').getBoundingClientRect().left);
<div> 
 
    A 
 
</div> 
 
<h1 id="h1">Test</h1>

但是请记住,jQuery是相当优化,代码有可能使用完全相同的功能,或者可能非常接近。

+0

哇,谢谢,它的工作原理。但是offsetLeft有什么区别? –

+0

完全一样。 – Dekel

+0

well否,offsetLeft返回比getBoundingClientRect()更多的值。left –