2012-01-03 5 views
9

यह कहना है कि, यदि मैं 1 सेकंड लेने के लिए एनीमेशन सेट करता हूं, तो क्या यह हमेशा 1 सेकंड लेगा (यानी उस अंतराल को प्राप्त करने के लिए फ्रेम छोड़ें)?क्या सीएसएस एनिमेशन सख्त समय के आधार पर काम करते हैं?

मेरे प्रश्न के भाग 2 में एसिंक्रोनस जावास्क्रिप्ट कॉल में सीएसएस एनिमेशन का उपयोग करने का तरीका शामिल है। एक बार पूरा होने के बाद मुझे एनीमेशन को याद करने में सक्षम होना चाहिए।

उत्तर

4

समय सटीक होने के लिए गारेन नहीं किया गया है। प्रदर्शित करने के लिए, मैंने test case सेटअप किया है जो दिखाता है कि समय 1 सेकंड से थोड़ा अलग होता है। आपके प्रश्न के दूसरे भाग के लिए, आप इसे पुनरारंभ करने के लिए animationend ईवेंट का उपयोग कर सकते हैं, या आप इसे फिर से सेट कर सकते हैं (जैसे मैंने अपने उदाहरण में किया है)।

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

अद्यतन 2 तो, मैं get the browser to choke करने में सक्षम था (एफएफ में 1000000 करने के लिए गिनती करने के लिए किया था ... मैं प्रभावित हूँ), और अपने प्रश्न का त्वरित जवाब नहीं, यह कोशिश करने के लिए कोई मुआवजा भी नहीं करता है और समय सटीक प्राप्त करें। यह सिर्फ चुटकुले और एनिमेट नहीं करता है। आपको लगता है कि एक तंग लूप है, इसलिए यह बेहतर प्रदर्शन कर सकता है अगर यह वहां दूसरी गणना प्राप्त कर सकता है, लेकिन मुझे यह सुनिश्चित करने के लिए नहीं पता है।

+0

मेरी इच्छा है कि मैं कई सही उत्तर दे सकता हूं, लेकिन यह उत्तर मेरे पहले प्रश्न का सबसे नज़दीकी उत्तर देता है, और आपने इसके लिए यूनिट परीक्षण भी चलाया, जिसे मैं बहुत सराहना करता हूं। – dclowd9901

2

मूल रूप से आपके प्रश्न का उत्तर सभी here at MDN है। इसका अर्थ यह है कि:

  1. समय बिल्कुल सटीक नहीं हैं, लेकिन वे करीब हैं।
  2. ऐसी घटनाएं हैं जो एनिमेशन के दौरान कई बार आग लगती हैं (और संक्रमण)। आप उन्हें ईवेंट हैंडलर संलग्न कर सकते हैं।
+1

जो वास्तव में समय के प्रश्न का उत्तर नहीं देता है, यह केवल मानक है कि अच्छी परिस्थितियों में एनिमेशन आपके द्वारा पूछे जाने वाले समय के करीब होते हैं। मुद्दा यह है कि "ब्राउजर चकित होने पर क्या होता है?" –

+0

धन्यवाद cwolves, हाँ यह मेरे प्रश्न के पहले भाग की अधिक जानकारी थी, लेकिन दूसरे भाग के लिए सही दिशा में मुझे इंगित करने के लिए धन्यवाद, kojiro। – dclowd9901