2012-02-22 5 views
5

इसलिए मैं खुद को एक मोबाइल वेबपैप बना रहा हूं और उपयोगकर्ता ने फ़ोन घुमाए जाने के बाद लेआउट के रीशेफल को छिपाने की कोशिश कर रहा हूं (मेरे पास एक पोर्ट्रेट और जेएस द्वारा निर्धारित लैंडस्केप लेआउट है)।खिड़की से पहले अग्नि कार्य अभिविन्यास परिवर्तन पर सामग्री का आकार बदलता है?

मैंने सोचा था कि मैं वापस में एक दूसरे या तो बाद $('body').display = "none"; जब आकार आग सेट और शरीर फीका करने के लिए सक्षम होना चाहिए, फिर भी फेरबदल अभी भी में display = "none" किक से पहले होता है।

वहाँ कोई तरीका है जैसे ही पृष्ठ घूमता है, फ़ंक्शन को आग लगाना ताकि मैं reshuffling तत्वों को छुपा सकूं? मैंने onorientationchange श्रोताओं की भी कोशिश की है लेकिन घटना होने के बाद वे सीधे आग लगते हैं।

उत्तर

0

आप एक समय समाप्ति के साथ फेरबदल में देरी कर सकते हैं:

$(window).resize(function(){ 
    $('body').hide(); 
    setTimeout(function(){ 
     reshuffle(); 
     $('body').show(); 
    }, 100);//100ms 
}); 
+0

धन्यवाद, thats वर्तमान में काफी वास्तव में कोड im का उपयोग करते हुए, ब्राउजर पुराने सीएसएस मूल्यों के साथ नए ओरिएंशन लेआउट को प्रस्तुत करने लगता है। हैइड के आकार से निकालने का समय है (इसलिए लगभग 50 एमएमएस के लिए मैं बिना छेड़छाड़ वाले लेआउट देख सकता हूं) , मुझे लगता है कि यह किसी भी तरह से करने योग्य नहीं हो सकता है = s – user885663

+0

धन्यवाद, मैंने इसे एक और कोशिश देने के लिए आकार बदलने के बजाए अपने ऑनोरिएन्टेशन एक्सचेंज इवेंट से जुड़ा हुआ है और ऐसा लगता है कि यह थोड़ा बेहतर काम करता है, शायद 50% समय साफ और साफ दिखता है। यह किसी भी कंटेनर तत्वों को आपके बीजी रंग में सेट करने में भी मदद करता है ताकि डिफ़ॉल्ट सफेद बीजी दिखाई न दे। – user885663

0

ऐसा करने की कोशिश कर सकते हैं: इनपुट के लिए

$.when($('body').hide()).then(function() { 
    $(window).resize(function(){ 
     setTimeout(function(){ 
      reshuffle(); 
     }, 100);//100ms 
    }); 
}); 

documentation

+0

त्वरित उत्तर के लिए धन्यवाद, मैं इसे आज़मा दूंगा हालांकि मुझे नहीं लगता कि यह समस्या को हल करेगा क्योंकि वास्तव में आकार बदलने के बाद तक वास्तव में लात नहीं है (जब तक। तब मौजूदा आकार को कतारबद्ध नहीं कर सकता), इसलिए (यदि मैं सोच रहा हूं कि आपका कोड सही तरीके से कैसे काम करेगा) यह "फ़ोन घुमाए जाने के बाद आकार बदल जाएगा> पता लगाएं कि शरीर छिपा हुआ है> फिर एक आकार बदलने के लिए प्रतीक्षा करें> देरी लेआउट फ़ंक्शन को आग लगाना? – user885663

+0

जिस तरह से मैं आपकी समस्या को समझता था कि आप शरीर के छिपे जाने के बाद फिर से बदलना चाहते थे, और मेरा मानना ​​है कि यह (जब तक मुझे गलत नहीं लगता) –

+0

मेरे पास अभी परीक्षण करने का समय नहीं है, लेकिन जब मैं इसे क्रिया में डालता हूं तो आपको बताएगा। यह दिखता है जैसे यह काम करेगा, मुझे जिस समस्या का सामना करना पड़ रहा है वह यह है कि फोन पर ब्राउज़र अभिविन्यास के साथ गति रखने के लिए पर्याप्त तेज़ नहीं है और इससे पहले कि वह परिदृश्य को हिट करता है। – user885663

संबंधित मुद्दे