1
我想讓動畫SVG在點擊後重新啓動,但只有在動畫完成後才能重新啓動。動畫結束後的回調不起作用
我當前的代碼如下:
JS:
$('.svg-icon').on('click', function() {
$(this).removeClass('completed');
$('.path-01, .path-02, .path-03').fadeOut(0, function() { $(this).fadeIn(); })
});
$('.path-01').one('animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd', function() { $('.svg-icon').addClass('completed'); });
SCSS:http://codepen.io/tomekbuszewski/pen/XmrjRR
我能做些什麼:
svg {
max-width: 400px;
display: block;
}
.path-01, .path-02, .path-03 {
stroke-width: -1px;
stroke-dasharray: 100;
stroke-dashoffset: 100;
}
.animate {
@include animation(stroke-animation 5s ease-in forwards);
}
@include keyframes(stroke-animation) {
to {
stroke-dashoffset: 0;
}
}
您可以在codepen看到了嗎?
謝謝,Łukasz。我用'attr('class','svg-icon completed')',因爲你的解決方案不起作用。另外,''click'我使用'$(document).on('click','.completed',function(){',你可以在小提琴中看到 –
@TomekBuszewski當然,我忘了'class' !我會更新我的答案 –
@TomekBuszewski和'$(document).on('click','.completed',...)'比在每個動畫結束後註冊回調更簡單的解決方案(如在我的codepen )。 –