الحصول على offsetTop من العناصر في الجدول
-
20-08-2019 - |
سؤال
وأنا لا يمكن أن يبدو لمعرفة كيفية الحصول على offsetTop عنصر ضمن الجدول. أنه يعمل بشكل جيد على العناصر خارج الجداول، ولكن كل العناصر ضمن جدول إرجاع النتيجة نفسها، وانها عادة ما تكون في الجزء العلوي من الصفحة. حاولت في هذا فايرفوكس وكروم. كيف يمكنني الحصول على offsetTop عنصر في جدول؟
المحلول
وoffsetTop
إرجاع قيمتها النسبية لoffsetParent
. تحتاج إلى إضافة متكرر offsetParent.offsetTop
من خلال كل من الآباء والأمهات حتى offsetParent
هو null
. النظر في استخدام مسج الصورة <لأ href = "http://docs.jquery.com/CSS/offset" يختلط = " noreferrer "> offset
طريقة ()
.
تعديل : إذا كنت لا تريد استخدام مسج، يمكنك كتابة طريقة مثل هذا (غير مجربة):
function offset(elem) {
if(!elem) elem = this;
var x = elem.offsetLeft;
var y = elem.offsetTop;
while (elem = elem.offsetParent) {
x += elem.offsetLeft;
y += elem.offsetTop;
}
return { left: x, top: y };
}
لا تنتمي إلى StackOverflow