मैं एक साधारण CSS3 एनीमेशन को शुद्ध जावास्क्रिप्ट में परिवर्तित करना चाहता हूं (jQuery में नहीं, क्योंकि मुझे लगता है कि यह इतनी सरल चीज़ के लिए पूरी लाइब्रेरी लोड करने के लिए ओवरकिल है)।CSS3 एनीमेशन को शुद्ध जावास्क्रिप्ट में कनवर्ट करें
यह से एनीमेशन bounceInUp
के बारे में है। नमूना डेमो: http://jsfiddle.net/ELDf7/
@keyframes bounceInUp {
0% {
opacity: 0;
transform: translateY(2000px);
}
60% {
opacity: 1;
transform: translateY(-30px);
}
80% {
transform: translateY(10px);
}
100% {
transform: translateY(0);
}
}
http://javascript.info/tutorial/animation पर, वहाँ कैसे जावास्क्रिप्ट के साथ एनिमेशन करने के बारे में एक ट्यूटोरियल है। लेकिन मैं गणित में बहुत अच्छा नहीं कर रहा हूँ, इसलिए मैं यह दिखाने के लिए कि कैसे एनीमेशन जावास्क्रिप्ट में चलाना चाहिए (लगभग) फ़ोटोशॉप में एक ग्राफ बनाया: अन्य 'डेल्टा' के लिए
(ग्राफ प्लॉटर कर सकते हैं here)
क्या इस ग्राफ से शुद्ध जावास्क्रिप्ट में गणितीय सूत्र बनाना संभव है जो एनीमेशन के "डेल्टा" को लौटाता है?
मैंने bounce function के साथ कुछ चीजों की कोशिश की है, लेकिन यह वास्तव में काम नहीं करता था। (http://jsfiddle.net/ELDf7/2/)
संपादित करें:
-Math.cos (2 * Math.PI * प्रगति) + Math.pow (प्रगति: मैं एक अच्छा गणितीय सूत्र बनाने में कामयाब , 1) * ((1.5 + 1) * प्रगति - 1.5);
लेकिन अब मुझे एक और समस्या है, एनीमेशन छवि के आधे भाग से शुरू होता है, और पूरी छवि छिपी हुई नहीं है, जैसे यह CSS3 एनीमेशन की तरह दिखाई देता है।
जावास्क्रिप्ट एनीमेशन के एक लाइव डेमो के लिए, यहाँ देखें: http://jsfiddle.net/ELDf7/14/
किसी को भी पता है मैं इसे कैसे ताकि छवि पूरी तरह से शुरू में छिपा हुआ है बदल सकता हूँ? हो सकता है कि एक वैरिएबल बनाना संभव हो जिसमें छवि की ऊंचाई हो और फिर जावास्क्रिप्ट एक गणना करता है ताकि एनीमेशन तब तक शुरू नहीं हो जाता जब तक छवि का आधा भाग प्रकट न हो जाए।
jQuery आपको घटनाओं और टाइमर, साथ ही एक एनिमेट विधि देगा, जो इसे काफी आसान बनाता है। अन्यथा आपको स्वयं को विन्डोटाइम सेट करना होगा, और इन गणनाओं को करना होगा। स्पष्ट रूप से, यह संभवतः इसे लागू करने के लिए मूर्खतापूर्ण है जब jQueryUI के पास कुछ उपयुक्त है। http://docs.jquery.com/UI/Effects/Bounce यदि आप वास्तव में अपना खुद का रोल करना चाहते हैं, तो यह इसके स्रोत का अध्ययन करने में मदद कर सकता है। –
यह [CSS3 संक्रमण] नहीं है (http://dev.w3.org/csswg/css-transitions/); यह [CSS3 एनिमेशन] है (http://www.w3.org/TR/css3-animations/)। संक्रमण 'संक्रमण' शॉर्टेंड संपत्ति का उपयोग करें। एनिमेशन 'एनीमेशन' शॉर्टेंड प्रॉपर्टी और '@ कीफ्रेम' का उपयोग करते हैं। –
अपने अंतिम प्रश्न के लिए, बस 'बाउंस' कार्यों के अंदर' प्रगति + = 1; 'को चकित करें। [देखें] (http://jsfiddle.net/ELDf7/5/) – searlea