Я создаю графику с использованием HTML5 SVG через Javascript DOM.
Я использую анимацию для перемещения элемента svg (который является дочерним элементом основного элемента svg) по его координатам x (константа y).
var animate = document.createElementNS("http://www.w3.org/2000/svg", "animate");
animate.id = i;
animate.setAttribute('attributeName','x');
animate.setAttribute('begin','indefinite');
animate.setAttribute('dur','1s');
animate.setAttribute('fill','freeze');
animate.addEventListener('endEvent',animationEnd,false);
svgChild.appendChild(animate);
Позже я получаю доступ к элементу анимации через элемент svg и запускаю анимацию.
svgChild.firstChild.setAttribute('from',xFrom);
svgChild.firstChild.setAttribute('to',xTo);
svgChild.firstChild.beginElement()
Все работает отлично до сих пор.
Но в конце анимации зарегистрированный для нее обработчик не вызывается.
Я также пробовал следующим образом, но это тоже не сработало.
animate.setAttribute('end',animationEnd);
Я много искал на форумах, создающих SVG через Javascript DOM. Но не смог найти никакой помощи при регистрации для анимации атрибутов событий через javascript DOM.
Некоторые из вопросов, которые я проверил на этом форуме