সিএসএস 3 অ্যানিমেশন সমাপ্তির জন্য কি কলব্যাক রয়েছে?


92

CSS3 অ্যানিমেশন ক্ষেত্রে কলব্যাক ফাংশন বাস্তবায়নের কোন উপায় আছে কি? জাভাস্ক্রিপ্ট অ্যানিমেশন এর ক্ষেত্রে এটি সম্ভব তবে সিএসএস 3 এ করার কোনও উপায় খুঁজে পাচ্ছে না।

আমি দেখতে পাবার একটি উপায় হ'ল অ্যানিমেশন সময়কালের পরে কলব্যাক চালানো কিন্তু এটি নিশ্চিত করে না যে অ্যানিমেশন শেষ হওয়ার পরে এটি সর্বদা ডাকা হবে। এটি ব্রাউজারের ইউআই সারির উপর নির্ভর করবে। আমি আরও শক্তিশালী পদ্ধতি চাই কোন সুত্র?



আপনি যদি সাধারণ সিএসএস ক্রিয়া করতে চান, উদাহরণস্বরূপ, উপাদানটি পরিবর্তনের পরে আড়াল করুন, সম্ভবত আপনার কলব্যাকের প্রয়োজন নেই এবং পরিবর্তে, আপনি অ্যানিমেশনের কীফ্রেমে আপনার সমস্যাটি সমাধান করতে পারেন।
ম্যাডমাদি 17'19

উত্তর:


132

হ্যা এখানে. কলব্যাক একটি ইভেন্ট, তাই এটি ধরার জন্য আপনাকে অবশ্যই ইভেন্ট শ্রোতা যুক্ত করতে হবে। এটি jQuery সহ একটি উদাহরণ:

$("#sun").bind('oanimationend animationend webkitAnimationEnd', function() { 
   alert("fin") 
});

বা খাঁটি জেএস:

element.addEventListener("webkitAnimationEnd", callfunction,false);
element.addEventListener("animationend", callfunction,false);
element.addEventListener("oanimationend", callfunction,false);

লাইভ ডেমো: http://jsfiddle.net/W3y7h/


4
IE10 জন্য এটি 'MSAnimationEnd' (দেখতে msdn.microsoft.com/en-us/ie/hh272902#_CSSAnimations )
মার্টিন Wittemann

6
এটা transitionend, না animationend

13
@ মিশেল জোনস না, এটি সিএস 3 ট্রানজিশনের জন্য। প্রশ্ন ছিল অ্যানিমেশন সম্পর্কে।
joshvermaire

4
@ মার্টিনউইটম্যান আইই 10 ফাইনালটি এখন animationend এমএসডিএন.এমক্রিওফসটিও / ডেনমার্ক / লাইব্রেরি / আই / আই ব্যবহার করে । @ হাসকি কোডটি ক্রোম এবং এফএফ 14 এ কাজ করে, আপডেট ফিডল jsfiddle.net/W3y7h দেখুন
পদ্ধতিটি

4
সদৃশ stackoverflow.com/questions/9255279/... আরো একটি সম্পূর্ণ সমাধান আছে যা
vanthome

3

একটি কলব্যাক করার সহজ উপায় যা আপনার সিএসএস 3 ট্রানজিশনগুলি / ব্রাউজারের সামঞ্জস্যগুলিও পরিচালনা করে তা হ'ল jQuery ট্রানজিট প্লাগইন । উদাহরণ:

//Pulsing, moving element
$("#element").click( function () {
    $('#element').transition({ opacity: 0, x: '75%' }, function () { $(this).transition({ opacity: 1, x: '0%' }).trigger("click"); });
});

জেএস ফিডল ডেমো


4
এর জন্য বোনাস পয়েন্ট jQuery অ্যানিমেটের সাথে এপিআই স্পেস ভাগ করে নিচ্ছে, তবে সিএসএস অ্যানিমেশনগুলির হার্ডওয়্যার-রেন্ডার মসৃণতার সুবিধা গ্রহণ করছে। আমরা সবেমাত্র jQuery এনিমেট এর সাথে সমস্ত জায়গায় বেশিরভাগ জায়গায় প্রতিস্থাপন করেছি।
লগান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.