このアニメーションのイベントリスナーを一時停止しようとしています。 クリックイベントは、前のイベントが完了するまで別のアニメーションをトリガーしません。私はブーリアンを使ってみましたが(例のように)、なぜ動作しないのか分かりません。Snap SVG:アニメーションの進行中にイベントリスナーを中断する
注:jqueryは使用できません。
例:Jsfiddle
var speed = 250,
suspend = true;
[].slice.call(document.querySelectorAll('.arrow_button')).forEach(function(el) {
var s = Snap(el.querySelector('svg')),
path = s.select('path'),
returnPath = path.attr('d'),
route = el.getAttribute('data-path-route'),
callback = function() {
path.animate({ 'path' : returnPath }, speed, mina.easeout);
suspend = true;
};
el.addEventListener('click', function() {
if(suspend) {
suspend = false;
path.animate({ 'path' : route }, speed, mina.easein, callback);
};
});
});