Thomas Meinike: svg animation starten stoppen pausieren über frame

Beitrag lesen

Hallo,

kann mir jemand sagen wie ich eine animation starten, stoppen und pausieren kann? und das während ich einen button in einem anderen frame drücke.

das ist das zu animierende objekt:

<rect cx="-4563" cy="530" width="0.5%" height="35%" style="fill:none;stroke:red;stroke-width:20">
      <animateMotion id="theCursMove" calcMode="linear"
       path="M400 510 L1400 510"
       dur="5s" begin="indefinite" fill="freeze" onbegin="" onend=""/>
   </rect>

Das ist fuer alle Animationen im Dokument machbar mit svgroot.pauseAnimations() bzw. svgroot.unpauseAnimations(), siehe http://www.datenverdrahten.de/svglbc/?code=un_pause_anim.

Ohne genaue Codekenntnis sollte es etwa so aus dem Frame-Kontext in einen anderen Frame hinein funktionieren:

var svgdoc=parent.frames["framename"].document.embeds["svg_embed_name"].getSVGDocument();
var svgroot=svgdoc.getDocumentElement();

svgroot.pauseAnimations();
svgroot.unpauseAnimations();

Bei einer bestimmten Animation funktioniert das offenbar nicht ueber ihre ID:

svgdoc.getElementById("theCursMove").pauseAnimations();

Versuche alternativ mal, dem Attribut dur den Wert 0 zuzuweisen:

svgdoc.getElementById("theCursMove").setAttribute("dur","0");

MfG, Thomas

--
SVG - Learning By Coding
http://www.datenverdrahten.de/svglbc/