Dapatkan kotak sempadan elemen div: kaedah pelaksanaan jQuery
P粉207483087
P粉207483087 2023-08-22 11:18:36
0
2
510
<p>Saya mahu mengira kotak sempadan elemen div melalui jQuery/JavaScript. </p> <p>Saya mencuba kod berikut: </p> <pre class="brush:php;toolbar:false;">//Sebelah kiri kotak document.getElementById("myElement").offsetLeft; //Atas kotak document.getElementById("myElement").offsetTop; //sebelah kanan kotak document.getElementById("myElement").offsetLeft + document.getElementById("myElement").offsetWidth; //bawah kotak document.getElementById("myElement").offsetTop + document.getElementById("myElement").offsetHeight;</pre> <p>Ia mengembalikan beberapa nilai. Adakah ini cara yang betul untuk mendapatkan kotak sempadan elemen div melalui jQuery/JavaScript. </p> <p>Saya memerlukan sesuatu yang serupa dengan kaedah <code>getBBox()</code> Ia akan mengembalikan <kod>x</kod>, <kod>y</kod>, <kod>lebar</kod> dan <kod>tinggi</kod> Begitu juga, bagaimana saya boleh mendapatkan kotak sempadan unsur div? </p>
P粉207483087
P粉207483087

membalas semua(2)
P粉360266095

Memandangkan ini ditandakan khusus untuk jQuery -

$("#myElement")[0].getBoundingClientRect();

atau

$("#myElement").get(0).getBoundingClientRect();

(Kedua-duanya fungsinya sama, .get() lebih laju sedikit dalam sesetengah pelayar lama)

Sila ambil perhatian bahawa jika anda cuba mendapatkan nilai melalui panggilan jQuery, ia tidak akan mengambil kira sebarang nilai transformasi css, yang mungkin membawa kepada hasil yang tidak dijangka...

Nota 2: Dalam jQuery 3.0 ia telah ditukar untuk menggunakan panggilan getBoundingClientRect() yang sesuai untuk panggilan saiznya sendiri (lihat Panduan Naik Taraf jQuery Core 3.0) - bermakna jawapan jQuery yang lain akhirnya akan sentiasa betul - tetapi hanya jika betul apabila menggunakan versi jQuery baharu - itulah sebabnya ia dipanggil perubahan pecah...

P粉649990273

Anda boleh mendapatkan kotak sempadan mana-mana elemen dengan memanggil kaedah getBoundingClientRect.

var rect = document.getElementById("myElement").getBoundingClientRect();

Ini akan mengembalikan objek dengan medan kiri, atas, lebar dan ketinggian.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan