Javascript DOM을 통해 HTML5 SVG를 사용하여 그래픽을 빌드하고 있습니다.Javascript DOM을 통해 완료되면 SVG animate 요소의 endEvent 핸들러가 호출되지 않습니다.
xv 좌표 (y 상수)를 따라 svg 요소 (기본 svg 요소의 하위 요소)를 이동하려면 animate를 사용합니다.
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 요소를 통해 애니메이션 요소를 acccess, 여기까지 작동 완벽하게 정상적으로 애니메이션
svgChild.firstChild.setAttribute('from',xFrom);
svgChild.firstChild.setAttribute('to',xTo);
svgChild.firstChild.beginElement()
모든를 시작합니다.
그러나 애니메이션이 끝날 때 같은 개체에 대해 등록 된 처리기는 호출되지 않습니다.
나는 또한 다음과 같은 방법을 시도했다. 그러나 이것도 wotk하지 않았다.
animate.setAttribute('end',animationEnd);
SVG를 통한 포럼을 Javascript DOM을 통해 광범위하게 검색했습니다. 그러나 javascript DOM을 통해 이벤트 속성을 애니메이션으로 등록하는 데 도움이되지 않았습니다.
내가 How to add an animated svg via javascript?
Check when an animation has ended in SVG
종료 이벤트가 이미 크롬 카나리아에서 작동해야 https://src.chromium.org/viewvc/blink?revision=157012&view=revision를 참조하십시오. –