سؤال

أقوم بعمل مكون قائم على شريط التمرير في GWT.

Parent : width = 100%
.-------------------------------------------------.
| .---------------------------------------------. |
| |     Child : width = X                       | |
| '---------------------------------------------' |
'-------------------------------------------------'

حيث x = (عرض الوالدين في px) - (بعض الحسابات على أساس وقت التشغيل) ؛

الكود الخاص بي يقول:

int providedWidth = parentContainer.getOffsetWidth();

في Firefox ، أحصل على العرض بشكل صحيح كما (على سبيل المثال) 345 بكسل ولكن في IE6 ، يعيد باستمرار العرض على أنه 0 بغض النظر عن الحجم.

من منظور GWT ، يكون الوالد عبارة عن absolutepanel الموضوعة داخل dockpanel (Super Parent) ، الطفل هو AA Horizontalpanel.

لم أقم بوضع رمز هنا لإيجاز ، هل هناك أي طريقة أخرى للحصول على العرض أم أفعل شيئًا خاطئًا؟

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

المحلول

مجرد تخمين وحشي ، ولكن ربما يحتاج العنصر إلى "تخطيط" في IE6؟ هل يمكنك إعطائها style='zoom:1'?

نصائح أخرى

في IE ، يجب عليك أحيانًا الحصول على معلومات الحجم في DeferredCommand لأن IE لا يقت سوى التخطيط بعد انتهاء مؤشر ترابط الحدث.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top