Untuk transisi, Anda dapat menggunakan yang berikut untuk mendeteksi akhir transisi melalui jQuery:
$("#someSelector").bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(){ ... });
Mozilla memiliki referensi yang sangat baik:
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions#Detecting_the_start_and_completion_of_a_transition
Untuk animasi sangat mirip:
$("#someSelector").bind("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd", function(){ ... });
Perhatikan bahwa Anda dapat meneruskan semua string acara yang diawali browser ke metode bind () secara bersamaan untuk mendukung acara yang dijalankan pada semua browser yang mendukungnya.
Memperbarui:
Per komentar yang ditinggalkan oleh Duck: Anda menggunakan .one()
metode jQuery untuk memastikan pawang hanya menembak sekali. Sebagai contoh:
$("#someSelector").one("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(){ ... });
$("#someSelector").one("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd", function(){ ... });
Pembaruan 2:
bind()
Metode jQuery telah ditinggalkan, dan on()
metode lebih disukai pada jQuery 1.7
.bind()
Anda juga dapat menggunakan off()
metode pada fungsi panggilan balik untuk memastikan itu akan diaktifkan hanya sekali. Berikut adalah contoh yang setara dengan menggunakan one()
metode:
$("#someSelector")
.on("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd",
function(e){
// do something here
$(this).off(e);
});
Referensi: