Geçişler için jQuery aracılığıyla bir geçişin sonunu tespit etmek için aşağıdakileri kullanabilirsiniz:
$("#someSelector").bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(){ ... });
Mozilla mükemmel bir referansa sahiptir:
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions#Detecting_the_start_and_completion_of_a_transition
Animasyonlar için çok benzer:
$("#someSelector").bind("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd", function(){ ... });
Etkinliği tetikleyen tüm tarayıcılarda olay tetiklemeyi desteklemek için tarayıcı ön ekli tüm olay dizelerini aynı anda bind () yöntemine aktarabileceğinizi unutmayın.
Güncelleme:
Duck'ın bıraktığı yorum başına: .one()
işleyicinin yalnızca bir kez ateş etmesini sağlamak için jQuery yöntemini kullanırsınız. Örneğin:
$("#someSelector").one("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(){ ... });
$("#someSelector").one("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd", function(){ ... });
Güncelleme 2:
jQuery bind()
yöntemi kullanımdan kaldırılmıştır ve on()
yöntem olarak tercih edilmektedir jQuery 1.7
.bind()
Ayrıca off()
, yalnızca bir kez tetiklenmesini sağlamak için geri arama işlevindeki yöntemi de kullanabilirsiniz . İşte one()
yöntemi kullanmaya eşdeğer bir örnek :
$("#someSelector")
.on("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd",
function(e){
// do something here
$(this).off(e);
});
Referanslar: