Memanggil kaedah jQuery.position() akan mengembalikan kedudukan relatif kepada elemen induk Dokumentasi rasmi jQuery menerangkan bahawa ia berbeza daripada kaedah .offset() .offset() mengembalikan kedudukan relatif kepada dokumen. manakala .position() mengembalikan kedudukan relatif kepada elemen induk.
Tetapi sebenarnya, semasa penggunaan, kami mendapati bahawa nilai yang dikembalikan oleh .position() selalunya 0. Tetapi hakikatnya bukan 0. Terutamanya dalam pelayar Google Chrome dan IE. Firefox tidak mempunyai masalah ini.
Sebabnya ialah mengambil pelayar berasaskan Webkit (pelayar Google Chrome dan Safari) sebagai contoh, hanya apabila elemen (imej, denyar, dll.) dimuatkan sepenuhnya, penyemak imbas boleh mengakses ketinggian dan lebar elemen ini. Firefox boleh mengakses sifat ini selepas DOM dimuatkan, dan ia tidak perlu mengetahui saiz penuh elemen. Tidak begitu dengan Google Chrome. Oleh itu, dalam penyemak imbas seperti Google/IE, jika anda ingin menggunakan .position() untuk mendapatkan offset elemen, nilai yang anda dapat selalunya ialah nilai awal: 0.
Satu penyelesaian ialah membuat panggilan .position() anda selepas acara $(window).load() menyala, bukannya selepas acara $(document).ready. Tetapi kaedah ini mungkin tidak boleh dipercayai.
Alternatif lain ialah menggunakan .offset() untuk menukar:
parentLeft = thisParent.offset().left;
parentTop = thisParent.offset().top;
kembali {
kiri: kiri-ibubapaKiri ini,
atas: thisTop-parentTop
};
};