2016-05-04 4 views
0

Ich versuche, einige css-Klassen auf meinem Label/Kontrollkästchen Tick hinzufügen, dann entfernen Sie die Klassen und entfernen Sie das Element, sobald es überprüft wurde. Obwohl ich kämpfe und nur das eine oder andere schaffen kann.fügen Sie animate.css Klassen dann entfernen Sie das Element mit entfernen

$(function() { 
    $("label[for='<%= @todo.id %>']").click(function() { 
     el = $("#todo-container-<%= @todo.id %>"); 
     el.addClass('animated fadeOut'); 
     el.one('webkitAnimationEnd oanimationend msAnimationEnd animationend', 
     function (e) { 
      el.removeClass('animated fadeOut'); 
      el.remove(); 
     }); 
    }); 
}); 

Hier versuche ich (in meiner complete.js.erb-Datei) auf dem Etikett klicken (die das Kontrollkästchen überprüft) fügen Sie die animierten und fadeOut Klassen in den Behälter und dann die Klasse entfernen und als Containerelement, nachdem es verblasst ist.

Kann mir jemand helfen? Mein Code macht nur 1 meiner 2 Anforderungen

+1

Sie machen können fiddle oder post ein paar html zu –

Antwort

2

Sie bei der "animationend" Ereignis-Listener aussehen könnte:

el.addEventListener("animationend", function().. , false); 

Weitere Informationen finden Sie finden Sie hier:

W3Schools animationend Event

+0

Ich glaube, es ist in animate.css 'el.one enthalten ('webkitAnimationEnd oanimationend msAnimationEnd animationend',' aber das scheint nur hinzufügen/entfernen Klasse und nicht entfernen sie danach. –

+0

Sie kann diese Quelle betrachten: http://osvaldas.info/examples/detecting-css-animation-transition-end-with-javascript/oncssanimationend.js – Riddell

Verwandte Themen