Rufen Sie den Begrenzungsrahmen eines div-Elements ab: jQuery-Implementierungsmethode
P粉207483087
2023-08-22 11:18:36
<p>Ich möchte den Begrenzungsrahmen eines div-Elements über jQuery/JavaScript berechnen. </p>
<p>Ich habe den folgenden Code ausprobiert: </p>
<pre class="brush:php;toolbar:false;">//Die linke Seite der Box
document.getElementById("myElement").offsetLeft;
//Top of the box
document.getElementById("myElement").offsetTop;
//rechte Seite der Box
document.getElementById("myElement").offsetLeft + document.getElementById("myElement").offsetWidth;
//Unterseite der Box
document.getElementById("myElement").offsetTop + document.getElementById("myElement").offsetHeight;</pre>
<p>Es gibt einen Wert zurück. Ist dies der richtige Weg, um den Begrenzungsrahmen eines div-Elements über jQuery/JavaScript abzurufen? </p>
<p>Ich benötige etwas Ähnliches wie die Methode <code>getBBox()</code> Es werden die Werte <code>x</code>, <code>y</code>, <code>width</code> und <code>height</code> zurückgegeben. Wie erhalte ich außerdem den Begrenzungsrahmen eines div-Elements? </p>
由于这是专门为jQuery标记的 -
或者
(这两者在功能上是相同的,在一些旧浏览器中,
.get()
稍微快一些)请注意,如果您尝试通过jQuery调用来获取值,它将不会考虑任何css变换值,这可能会导致意外的结果...
注意2:在jQuery 3.0中,它已经改为使用适当的
getBoundingClientRect()
调用来进行自身的尺寸调用(请参见jQuery Core 3.0升级指南) - 这意味着其他jQuery答案最终将始终正确 - 但仅在使用新的jQuery版本时才正确 - 这就是为什么它被称为破坏性变更的原因...你可以通过调用getBoundingClientRect方法来获取任何元素的边界框。
这将返回一个具有left、top、width和height字段的对象。