سؤال

أنا مواجهة مشكلة غريبة مع Firefox، لدي علامة DIV مع ID = "popup_layer". أنا أستخدم jQuery للعثور على هذا div الذي يعمل بشكل جيد:

var rightPosition=$j("#popup_layer")

ولكن عندما أحاول العثور على موقف DIV:

var rightPosition=$j("#popup_layer").position().left; 

أحصل على الاستثناء التالي في Firebug:

استثناء ... "تعذر تحويل وسيطة JavaScript Arg 0 [nsidomviewcss.getcomputstyle] nsresult: "0x80570009 (ns_error_xpc_bad_convert_js)" الموقع: "JS Frame :: http: // localhost: 20094 / البرامج النصية / combinejs.ashx؟ jsfiles = / scripts / jquery-1.2.6.js؛٪ 20٪ 20٪ 20٪ 20 / البرامج النصية / PDP / NEWMODALBOX.JS؛٪ 20٪ 20 ٪ 20٪ 20 / النصوص / cookiehelpers.js؛٪ 20٪ 20٪ 20٪ 20popupplayer.js؛٪ 20٪ 20٪ 20٪ 20 / be / النصوص / النصوص; ؛ :: مجهول :: خط 23 ": لا

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

المحلول 2

لسبب ما عندما أزل النمط على Div الخاص بي، يبدأ العمل

<div id="popup_layer" style="display:none;">

ل

<div id="popup_layer">

غريب تماما!

نصائح أخرى

لا يمكنك استرداد أبعاد أو موضع عنصر دوم مع display:none. وبعد بحكم التعريف، لا يفترض أن يكون العنصر من المفترض أن يكون عرضا على الصفحة، وبالتالي لا يستغرق أي مساحة.

أقترح ترك عنصرك مرئي في البداية، والحصول على الأبعاد التي تريدها، ثم تطبيق "display:none"بعد انتهائك من قياسها.

بدلا من ذلك يمكنك استخدام "visibility:hidden" في حين أن.

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