मेरे पास है कि मैं jQuery और setInterval के साथ बनाया अपनी वेबसाइट पर कोई उछल तीर, इस तरह:अंतराल थोड़ी देर के लिए दोहराने के बाद तुरंत स्पष्ट नहीं है
bouncing = setInterval(function() {
$("div").animate({
top:"30px"
},100,"easeInCubic",function() {
$("div").animate({
top:"0px"
},100,"easeOutCubic");
});
console.log("bounced");
},200);
आप यहां codepen में जगह में देख सकते हैं : http://codepen.io/mcheah/pen/wMmowr
मैंने इसे आवश्यकतानुसार तेज़ी से चलाया क्योंकि मुद्दों को तेज़ी से देखना आसान है। मेरी समस्या यह है कि कुछ सेकंड के लिए अंतराल चलने के बाद, आप देखेंगे कि तुरंत बैक अप या डाउन बाउंस करने के बजाय, उछाल वाला तत्व आधे सेकेंड तक रुक जाएगा और फिर फिर से शुरू होने से पहले वहां लटका होगा। यदि आप इसे और भी लंबे समय तक चलते हैं (20 सेकंड) और फिर अंतराल को साफ़ करते हैं, तो आप देखेंगे कि बाउंसिंग रोकने में कुछ सेकंड लगते हैं।
क्यों उछाल वाली सिंक्रनाइज़ेशन से बाहर कभी कभी हो जाता है:
मेरे सवालों इन कर रहे हैं?
स्पष्ट अंतराल को थोड़ी देर के लिए दोहराने के लिए कुछ समय क्यों लगता है?
क्या बाउंसिंग तीर रखने का कोई बेहतर तरीका है? सीएसएस संक्रमण अधिक भरोसेमंद हैं?
आपकी मदद के लिए धन्यवाद!
के दौरान: http://codepen.io/luminaxster/pen/XKzLBg
मैं पूरा कॉलबैक का उपयोग करते समय दूसरे एनीमेशन बजाय समाप्त हो जाती है और चर है इस संस्करण में एक उछाल पुनरावर्ती कॉल को नियंत्रित करने की सिफारिश करेंगे जेएस प्रसंस्करण, अंतराल कार्यों असीमित हैं। तो वे कोड चलाने में 'ब्रेक' तक इंतजार करते हैं। घटना होने पर आग लग जाती है जब मौका होता है। अंतराल बहुत असंगत होते हैं और उन घटनाओं के लिए अनुशंसित नहीं होते हैं जिन्हें एक विशिष्ट समय पर चलाने की आवश्यकता होती है। देखें: http://ejohn.org/blog/how-javascript-timers-work/ – ryan0319
मैं ईमानदारी से लगता है कि यह बुरा UX है इस उछाल/फ्लैश/चमक/धड़कन/जो कुछ भी (ऑफिस 2007 "फाइल करना था की तरह सामान बनाने के लिए "मेन्यू प्रतिस्थापन बटन चमक क्योंकि यह स्पष्ट नहीं था कि यह एक बटन था और यह $% से अधिक है! और मेरे बाहर) लेकिन यह क्यों है कि यह वांछित के रूप में काम नहीं कर रहा है, यह एक अच्छा सवाल है (और मेरे पास नहीं है एक जवाब)। – Draco18s
एनिमेशन के लिए जावास्क्रिप्ट का उपयोग न करें (ठीक है, हो सकता है कि आप वेग या समान का उपयोग करेंगे), सीएसएस एनिमेशन से चिपके रहें। साथ ही, 'setInterval' ऐसा कुछ नहीं है जिसे आप एनीमेशन के लिए उपयोग करेंगे क्योंकि यह असीमित है। निचली पंक्ति: सीएसएस में स्टाइल रखना ;-) –