2010-06-19 7 views
5

प्रस्तुत करने के बाद प्रभावी होता है, मैं इस समस्या में भाग रहा हूं जहां मेरा पृष्ठ लोड होता है और फिर एक सेकंड के अंश के बाद सीएसएस प्रभाव या स्टाइल होता है।सीएसएस

 
One 
Two 
Three 

:

मुख्य मुद्दा मैं देख रहा हूँ JQuery टैब है कि मैं http://docs.jquery.com/UI/Tabs#source

जब पेज renders उपयोग कर रहा हूँ के साथ है, तो टैब इस तरह एक पल के लिए अन्य नीचे एक दिखाने और फिर टैब

के रूप में ठीक से प्रस्तुत करें क्या इसे ठीक करने का एक तेज़ और आसान तरीका है। धन्यवाद

+0

यह आम तौर पर एक स्टाइल शीट को धीरे-धीरे या बहुत देर से लोड किया जा रहा है। क्या आप अपने एचटीएमएल दस्तावेज़ का सिर दिखा सकते हैं? –

उत्तर

9

यह स्टाइल नहीं है; यह jQuery UI जावास्क्रिप्ट लाइब्रेरी है, जो आपके पृष्ठ पर आवश्यक HTML जोड़ रहा है ताकि टैब सभी सुंदर दिख सकें।

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

आशा है कि इससे मदद मिलती है!

संपादित करें:

पहला विकल्प के लिए, मान लें कि इस टैब युक्त अपने div है करते हैं:

<div id="tabs"> 
    ...stuff... 
</div> 

अपने स्टाइलशीट में, #tabs छिपाने:

#tabs { 
    display:none; 
} 

फिर, अपने jQuery यूआई कॉल को इस प्रकार संशोधित करें:

var t = $("#tabs"); 

t.tabs({ 
    create:function(){ 
     t.show(); 
    } 
}); 
+0

धन्यवाद ewwwyn - अगर मैं पहले विकल्प के साथ जाना चाहता हूं - मैं टैब को कैसे छिपा सकता हूं और मुझे कैसे पता चलेगा कि JQuery UI ने अपना जादू पूरा किया है धन्यवाद – Gublooo

+0

'शैली = "डिस्प्ले जोड़ें: आपके टैब को कोई भी नहीं। फिर 'दस्तावेज़ तैयार' – thomasfedb

+0

हाँ जब उन्हें दिखाने के लिए jQuery का उपयोग करें। तत्व को प्रदर्शित करने के लिए सेट करें: प्रारंभ में कोई भी नहीं। फिर jQuery UI में "लोड" नामक एक विधि है, जिसे आप अपना तत्व प्रदर्शित करने के लिए कॉल कर सकते हैं। मैं अपनी पोस्ट को समझाने के लिए संपादित करूंगा ... –

0

क्या सीएसएस जावास्क्रिप्ट के माध्यम से लागू किया गया है? उस स्थिति में आप कुछ स्थैतिक सीएसएस जोड़ सकते हैं जो कुछ स्थिर सीएसएस जोड़कर, जावास्क्रिप्ट निष्पादित होने से पहले तत्वों को कम से कम क्षैतिज रूप से व्यवस्थित किया जाता है।

यदि ऐसा होता है कि ब्राउज़र इसके बिना प्रतिपादन के बाद सीएसएस को लागू करने का निर्णय लेता है, तो आप ऐसा नहीं कर सकते हैं। हालांकि, यह हो सकता है कि सीएसएस धीरे-धीरे लोड हो (अगर यह एक बाहरी फाइल है), इस मामले में, आप एचटीएमएल में सीधे सीएसएस-सेक्शन में सबसे महत्वपूर्ण शैली जोड़ सकते हैं।

+0

धन्यवाद कि उपयोगी जानकारी – Gublooo

0

ब्राउज़र आमतौर पर आपके HTML कोड में दिखाई देने वाली फ़ाइलों को लोड करते हैं। पहले अपनी सीएसएस फ़ाइल में संदर्भ डालना सुनिश्चित करें ताकि यह जितनी जल्दी हो सके लोड हो।

यदि जावास्क्रिप्ट का उपयोग कर सीएसएस लागू किया जा रहा है, तो इसे तेज़ी से लोड करना संभव नहीं है। इसका उपयोग करने से पहले जावास्क्रिप्ट फ़ाइल को लोड करने की आवश्यकता है।

इसके अलावा, मुझे नहीं लगता कि ब्राउजर प्रतिपादन कैसे काम करता है इसे नियंत्रित करने का एक तरीका है।

+0

सीएसएस यहां समस्या नहीं है। यह jQuery यूआई का जावास्क्रिप्ट जादू है जो देरी का कारण बनता है। –

+0

धन्यवाद आदमी - इसकी सराहना करें – Gublooo

+0

हां, ewwwyn (यह बहुत डब्ल्यू है), ऐसा लगता है कि इस मामले में समस्या जावास्क्रिप्ट है। मैंने दूसरे पैराग्राफ में भी उल्लेख किया। आपकी पोस्ट सही ढंग से उस समस्या को संबोधित करती है, अच्छी पोस्ट :) कोई समस्या नहीं, गुब्लूओ। – Mathiasdm

2

weirdlover की प्रतिक्रिया लगभग मुझे (jQuery 1.5.2 का प्रयोग करके) के लिए काम किया है, लेकिन मैं create घटना हुक करने के लिए किया था:

var t = $("#tabs"); 

t.tabs({ 
    create:function(){ 
     t.show(); 
    } 
}); 

धन्यवाद!