2012-12-05 21 views
7

मैं jQuery मोबाइल का उपयोग कर रहा हूं और पेज लोड पर jQuery पॉप दिखाने की कोशिश कर रहा हूं। लेकिन जब पृष्ठ लोड होता है तो पॉपअप केंद्र में दिखाई नहीं दे रहा है, इसके बजाय पॉपअप का शीर्ष बाएं कोने केंद्र में दिखाई दे रहा है।jQuery मोबाइल पॉपअप केंद्र में दिखाई नहीं दे रहा है

लेकिन जैसे ही ब्राउज़र विंडो का आकार बदल जाता है पॉपअप स्वचालित रूप से केंद्र में स्थानांतरित हो जाता है (भले ही मैं डेवलपर टूल के लिए F12 दबाता हूं)। और फिर $ ('# popupBasic') पर सभी लगातार कॉल। पॉपअप ("खुला"); इसे स्क्रीन के केंद्र में दिखने के लिए बनाओ।

लेकिन पहली बार केंद्र में दिखाई देने वाले पॉपअप बॉक्स के शीर्ष बाएं कोने में।

+0

खोलने मैं एक समस्या यह एक के समान हो रहा है के बाद इसका स्थान बदलना कस्टम उपयोग कर सकते हैं।कभी-कभी ऐसा लगता है कि आप ऊपर बताते हैं, लेकिन अधिकांश बार पॉपअप भी दिखाई नहीं देता है (हालांकि यह वहां है - जैसा कि मैं डीओएम की जांच करके देख सकता हूं)। सुनिश्चित नहीं है कि समाधान क्या है। –

+1

में 1.3.0 के साथ भी वही समस्या है। क्रोम का नवीनतम संस्करण। क्या आपको कभी फिक्स मिल गया? – Dave

उत्तर

0

यह एक बहुत अस्पष्ट सवाल है।

कुछ आइटम आप प्रदान करना चाहिए:

  • क्या ब्राउज़र आप पर परीक्षण और कौन-सा संस्करण रहे हैं?
  • जेक्यूएम का कौन सा संस्करण?
  • क्या कोई कस्टम सीएसएस जेक्यूएम के साथ बातचीत कर रहा है?

JQM 1.2 के रूप में, पॉपअप उपलब्ध विकल्प:

डिफ़ॉल्ट: "मूल"

सेट तत्व रिश्तेदार पॉपअप केंद्रित किया जाएगा करने के लिए। इसमें निम्नलिखित मान हैं:

"उत्पत्ति" जब पॉपअप खुलता है, तो निर्देशांक पर केंद्र खुले() कॉल (विधियों पृष्ठ देखें) पर पारित होता है।

"विंडो" जब पॉपअप खुलता है, विंडो में केंद्र।

jQuery चयनकर्ता जब पॉपअप खुलता है, तो चयनकर्ता के आधार पर एक jQuery ऑब्जेक्ट बनाएं, और इसके ऊपर केंद्र बनाएं। चयनकर्ता को उन तत्वों के लिए फ़िल्टर किया जाता है जो "दृश्यमान" के साथ दिखाई दे रहे हैं। यदि परिणाम खाली है, तो पॉपअप विंडो में केंद्रित होगा।

Source

+0

यह लगभग हर मैं कहाँ की कोशिश की है दिखाई दे रहा है, क्रोम संस्करण 24.0.1312.32 बीटा मीटर फ़ायरफ़ॉक्स 16.0.1 एचटीसी जंगल की आग 2.2.1 JQM jquery.mobile-1.2.0.min.js कोई कस्टम जेक्यूएम के साथ सीएसएस मैंने सभी पॉपअप विकल्पों को आजमाया है, लेकिन फिर भी कोई सफलता नहीं है। प्रतिकृति के लिए आप इस ''

SOME LONG CONTENT
और फिर '$ (दस्तावेज़) .bind ('pageinit', समारोह की कोशिश कर सकते ({ $ ('# popupBasic') पॉपअप (" खुला ");। }); ' –

1

मैं एक ही त्रुटि हो रही थी। पृष्ठ को पेंट करने के बाद आप केवल पॉपअप दिखाना चाहते हैं।

पेजिनिट ईवेंट की बजाय पेजशो ईवेंट सुनने के लिए अपना कोड जोड़ना शायद आपकी समस्या को ठीक करेगा। यह मेरे लिए तय है।

10

आप pageshow पर पॉपअप का स्थान बदलने की कोशिश कर सकते हैं:

$('#popupLogin').popup('reposition', 'positionTo: window'); 

मुझे लगता है क्या आप अनुभव कर रहे पोजीशनिंग पहले पेज हो रहा पूरी तरह से ब्राउज़र द्वारा तैयार की है करने के लिए नीचे है। आप पॉपअप को इस तरह से पुनर्स्थापित करके इसे दूर कर सकते हैं:

$(document).on('pageshow', '.selector', function(){ 
    $('#popupBasic').popup('reposition', 'positionTo: window'); 
}); 
+2

मैं एक पॉपअप div का उपयोग करता हूं, जिसका प्रयोग उपयोगकर्ता चयन के आधार पर अलग-अलग छवियों को प्रदर्शित करने के लिए किया जाता है। ये छवियां विभिन्न आकारों के हैं, जिन्हें लोड होने तक ज्ञात नहीं है। इसे कॉल करना:' $ ('#popupLogin') .popup ('रिपोजिशन', 'पोजिशन टू: विंडो'); 'पॉपअप में एक छवि लोड होने के बाद सफलतापूर्वक पॉपअप को केंद्रित करता है। – dsdsdsdsd

11

इसे आजमाएं: डेटा-स्थिति-से = "विंडो"।

this is the source

+1

सही उत्तर के रूप में सही उत्तर – manix

2
$(document).on("popupafteropen", function() { 
    $('#popup').popup('reposition', 'positionTo: window'); 
}); 

आप घटनाओं पॉप अप