javascript - Trying to create a div and center it, dynamically -
मेरे पास एक समारोह है:
showModal (डेटा); जिसे बुलाया जाता है, उसमें दी गई सामग्री के साथ एक मॉडल बनाना होगा। मैं इसे केन्द्रित करने की कोशिश कर रहा था, लेकिन मुझे नहीं लगता कि यह 'सही ऑब्जेक्ट' का संदर्भ दे रहा है। सीएसएस ({"z-index": संख्या ($ ("# overlay1")। सीएसएस ("ई-मेल" (-) / 2 - $ (यह)। हल्का () / 2, बाएं: $ (खिड़की)। विथ () / 2 - $ (यह) .विड्थ () / 2}) .एंडेंड (डेटा) .appendTo ("body")। FadeIn (); }
यह स्क्रीन पर 0,0 पर रखेगा। यह कैसे करें?
इसे आज़माएं:
फ़ंक्शन शोमोडल (डेटा) {var modal = $ ("& lt; div class = 'modal' & gt;"); Modal.css ({"z-index": संख्या ($ ("# overlay1")। सीएसएस ("z- सूचकांक")) + 5, शीर्ष: $ (खिड़की)। हल्का () / 2 - modal.height ( ) / 2, बाएं: $ (विंडो) .विड्थ () / 2 - modal.width () / 2}) .एपेंड (डेटा) .appendTo ("body")। FadeIn (); } अपने संदर्भ में, यह फ़ंक्शन showModal को लगता है लेकिन आप वर्ग "मोडल" के साथ नव निर्मित डिवेल को संदर्भित करने का प्रयास कर रहे हैं। आपको इसके संदर्भ को संचयित करने की आवश्यकता है क्योंकि .css कॉल में यह के संदर्भ में परिवर्तन नहीं होता है आप शायद सामान्य ईवेंट बाइंडिंग के बारे में सोच रहे हैं, जहां आपके पास गुमनाम समारोह का एक नया संदर्भ है, जो jQuery के इस को प्रश्न में तत्व के रूप में परिभाषित करता है css के साथ, आप एक कॉलबैक प्रदान नहीं कर रहे हैं, और इसलिए इसमें कोई भी तरीका नहीं है जो jQuery को बदलने या सेट करने के लिए यह क्योंकि कोई नया अवसर / संदर्भ नहीं है मैं शायद गलत शर्तों (संदर्भ, दायरा, आदि) का प्रयोग कर रहा हूं ... UPDATE : समस्या भी ऐसा लग रहा था क्योंकि डेटा को .css कॉल से पहले नहीं जोड़ा गया था, मॉडल में कोई भी पर्याप्त चौड़ाई / ऊंचाई नहीं होती। .css कॉल करने से पहले या नहीं, लेकिन यह भी मदद कर सकता है। समारोह showModal (डेटा) {Var मॉडल = $ ("& lt; div class = 'modal' & gt;"); ("Z-index" ऊंचाई () / 2 - modal.height () / 2, बाएं: $ (विंडो)। विथ () / 2 - modal.width () / 2})। FadeIn (); }
Comments
Post a Comment