Attendre la fin des animations sur un groupe
Je vous soumets ce bout de code en desespoir de trouver mieux ...
j'ai tenté un callback dans le onclick mais ça ne passe pas
le but est d'attendre la fin d'une série d'animations pour lancer un callback
J'ai aussi explore la possibilité de faire une vérification dans un setInterval sur le is:animated, ça fonctionne mais je trouve ça super lourd !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <script type="text/javascript">
$(function(){
$("#go").data('finished',0)
$("#go").click(function(){
$("#one").fadeOut('slow',function(){waitfor('counter',foo)} );
$("#two").fadeOut(5000, function() {waitfor('counter',foo)} );
})
})
function waitfor(classe, launch){
$('#go').data('finished',$("#go").data('finished')+1);
if ( $('#go').data('finished') > $('.'+classe).length ){launch()};
}
function foo(){ alert('finished') }
</script>
</head>
<body>
<div id='one' class="coutner">ljklkj</div>
<div id='two' class="counter">ljklkj</div>
<input id="go" type='button' value='go' />
</body> |