SORU
13 ŞUBAT 2012, PAZARTESİ


Geri arama ne zaman CSS3 geçiş tamamlanır

DOM öğesinden kaldırmak bittiğinde bir elemanın (0-opaklığı geçiş) ve daha sonra fade out yapmak istiyorum.

JQuery bu "bir animasyon sonra daha ne" tamamlar. Kaldırmak belirtebilirsiniz beri bellidir Ama eğer CSS3 geçişleri kullanarak animasyon istersem zaten oraya geçiş/animasyon tamamlandığında.

CEVAP
13 ŞUBAT 2012, PAZARTESİ


Geçişler için aşağıdaki jQuery ile bir geçiş sonuna algılamak için kullanabilirsiniz:

$("#someSelector").bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(){ ... });

Mozilla mükemmel bir referans vardır:

https://developer.mozilla.org/en/CSS/CSS_transitions#Detecting_the_completion_of_a_transition

Animasyonlar için çok benzer

$("#someSelector").bind("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd", function(){ ... });

Bağlama içine tarayıcı öneki olay dizeyi iletebilirsiniz not() metodu aynı anda destekleyen tüm tarayıcılarda olay ateş desteği için.

Güncelleme:

Yorum Ördek bıraktığı başına: işleyici yalnızca bir kez patlar. emin olmak için bir WordPress kullanmak .one() yöntemi kullanın Örneğin:

$("#someSelector").one("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(){ ... });

$("#someSelector").one("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd", function(){ ... });

Güncelleme 2:

bind() jQuery yöntem kalmıştır, ve on() yöntemjQuery 1.7olarak tercih edilir. bind()

Ayrıca ateş olacak sağlamak için geri arama fonksiyonu off() yöntem yalnızca bir kez kullanabilirsiniz. Burada one() yöntemi kullanılarak eşdeğer bir örnek:

$("#someSelector")
.on("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd",
 function(e){
    // do something here
    $(this).off(e);
 });

Referanslar:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Hidden Wolf TV

    Hidden Wolf

    1 EKİM 2009
  • Krumme1996

    Krumme1996

    21 EYLÜL 2009
  • Vicious Computers

    Vicious Comp

    14 EKİM 2006