entement.offsettop عندما يكون الوالد تجاوز الحدود والحدود

StackOverflow https://stackoverflow.com/questions/2402248

  •  18-09-2019
  •  | 
  •  

سؤال

قدم FF و IE إختلاف Offsettop عندما يكون الطفل في أحد الوالدين مع الفائض والحدود. FF يقوم بإجراء حجم الحدود العليا من الوالد من قيمة Offsettop، لذلك إرجاع قيمة سلبية (غالبا)؛ أعتقد أن أي إرجاع القيمة الصحيحة بدلا من ذلك.

قم بتجريبه

هناك طريقة crossbrowser للحصول على نفس القيمة؟

شكرا لك.

هل كانت مفيدة؟

المحلول

ال offsetTop العقارات يعطي الموقف بالنسبة إلى الوالد الإزاحة. الفرق بين FX و IE هو أنهم يستخدمون عناصر مختلفة كوالد إزاحة في هذه الحالة.

لا أعرف بالضبط كيف يؤثر الفائض على هذا، ولم أجد أي شيء حيال ذلك في التعريفات حتى الآن. ومع ذلك، هناك خطأ معروف في IE حيث يحصل على خطأ الآباء الإزاحة، وقد يكون هناك اختلاف في هذا الخطأ الذي تراه هنا.

نصائح أخرى

يبدو أن هذا خطأ في فايرفوكس كان مفتوحا منذ عام 2005. ويبدو أن المشكلة لا تكون هناك مواصفات واضحة من Offsettop.

https://bugzilla.mozilla.org/show_bug.cgi؟id=307502.

باستخدام GetBoundingClientRect قد يعمل (يفعل بالنسبة لي).

var rect;
rect = el.getBoundingClientRect();
return rect.top;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top