2011-11-29 9 views
5

मैंने वेबसाइट के लिए एक जटिल मेनू बनाया है। मेनू एनीमेशन की एक बड़ी मात्रा से रहता है जो CSS3 पर आधारित है। हालांकि, जब मैं किसी दूसरे पृष्ठ पर नेविगेट करता हूं, तो मेनू को शुरुआत में - और सभी एनिमेशन के बिना बनाना चाहिए, लेकिन JS-wise और सर्वरसाइड नहीं किया जाना चाहिए।क्या तत्व बनाये जाने पर मैं अस्थायी रूप से सभी CSS3 संक्रमण/एनिमेशन बंद कर सकता हूं?

अब मैं सोच रहा हूं कि मेन्यू बनने तक मैं अस्थायी रूप से सभी संक्रमण/एनिमेशन को कैसे अक्षम कर सकता हूं।

मैंने एक सबक्लास बनाने के बारे में सोचा जो एनिमेशन को ओवरराइड करता है लेकिन ऐसा लगता है कि यह हमेशा काम नहीं कर रहा है, क्योंकि यह हमेशा बेस क्लास में परिभाषित एनीमेशन/संक्रमण है?

+0

संभावित रूप से प्रासंगिक: http://stackoverflow.com/questions/11131875/what-is-the-cleanest-way-to-disable-css-transition-effects- समय-समय पर –

उत्तर

3

मैं सुझाव देता हूं कि मेनू के निर्माण के बाद जावास्क्रिप्ट द्वारा जोड़े गए वर्ग के माध्यम से अपने एनिमेशन/संक्रमण लागू करें।

animation-play-state संपत्ति है जो एनिमेशन को रोक सकती है, लेकिन सफारी 5 और क्रोम 4 में केवल (प्रीफिक्स्ड) दिखाई दे रही है (सफारी 4 के विपरीत और अन्य एनीमेशन गुणों के लिए क्रोम 2), और मुझे यकीन नहीं है कि यह आपके उद्देश्यों के लिए काम करेगा।

+0

मुझे यह महसूस हो रहा है कि आप बिल्कुल सही हैं। और मुझे उन 2.500 लाइनों को लिखने से पहले इस बारे में सोचा नहीं है कि मुझे अविश्वसनीय खुशी की यह भावना है। हालांकि मैं अभी भी एक आसान समाधान का सपना देखता हूं। – SquareCat

+0

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

+0

हां, यही बात है। यह बहुत जटिल है। आम तौर पर मेरे लिए एक रहस्य क्या है, इसलिए एक नई कक्षा के साथ एक संक्रमण/एनीमेशन सेट करना संभव नहीं है और इस प्रकार पहले परिभाषित किए गए एक को ओवरराइड करने में सक्षम होना चाहिए। यदि यह संभव था, उदाहरण के लिए "फीड" संक्रमण को "प्रकट" संक्रमण के अनुसार अलग-अलग समय दिया जा सकता है (जब अस्पष्टता 0-1 और रिवर्स से सेट किया जाता है) – SquareCat

2

मेनू बनाने के दौरान आप transition-duration0s पर सेट कर सकते हैं और उसके बाद इसे वांछित मान पर वापस सेट कर सकते हैं।