Diberikan ID DOM HTML, bagaimana cara mendapatkan posisi elemen relatif ke jendela di JavaScript / JQuery? Ini tidak sama dengan relatif terhadap dokumen atau offset induk karena elemen mungkin di dalam iframe atau elemen lainnya. Saya perlu mendapatkan lokasi layar persegi panjang elemen (seperti dalam posisi dan dimensi) seperti yang sedang ditampilkan. Nilai-nilai negatif dapat diterima jika elemen saat ini di luar layar (telah digulirkan).
Ini untuk aplikasi iPad (WebKit / WebView). Setiap kali pengguna mengetuk tautan khusus dalam UIWebView
, saya seharusnya membuka tampilan popover yang menampilkan informasi lebih lanjut tentang tautan tersebut. Tampilan popover perlu menampilkan panah yang menunjuk kembali ke bagian layar yang memanggilnya.
<div>
. Anda hanya mempertimbangkan pengguliran dokumen tetapi bukan pengguliran elemen lainnya.Coba kotak pembatas. Itu mudah:
sumber
Anda bisa menyebutnya seperti ini
Saya fokus untuk IE hanya sesuai kebutuhan saya tetapi serupa dapat dilakukan untuk browser lain
sumber
Ini terdengar seperti Anda ingin tooltip untuk tautan yang dipilih. Ada banyak tooltips jQuery, cobalah qtip jQuery . Ini memiliki banyak pilihan dan mudah untuk mengubah gaya.
Kalau tidak, jika Anda ingin melakukan ini sendiri, Anda dapat menggunakan jQuery
.position()
. Informasi lebih lanjut tentang.position()
ada di http://api.jquery.com/position/$("#element").position();
akan mengembalikan posisi elemen saat ini ke induk offset.Ada juga jQuery .offset (); yang akan mengembalikan posisi relatif ke dokumen.
sumber
TL; DR
.getBoundingClientRect () tampaknya bersifat universal . .offset () dan .scrollTop () telah didukung sejak jQuery 1.2. Terima kasih @ user372551 dan @prograhammer. Untuk menggunakan DOM dalam iframe lihat solusi @ ImranAnsari .
sumber
sumber
Coba ini untuk mendapatkan lokasi elemen relatif ke jendela.
Lihat lebih lanjut @ Dapatkan posisi elemen relatif ke dokumen dengan jQuery
sumber