سؤال

وأنا لا يمكن أن يبدو لمعرفة كيفية الحصول على 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 };
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top