morphMe
アニメーションが終了した後、テキスト(CLICK ME)が0.5秒後に再び表示されるはずです。 (終了タグ以外のコードの最後の行を参照してください)SVGセットのattributeName = "visibility"は最初に動作しますが、それ以降ではありません
アニメーションが初めて終了したときにテキストが表示されるようにしても問題ありません。しかし、それ以降はそれは機能しません。私はなぜそれが一度しか働かないのか理解できません。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="300" height="300" viewBox="0 0 300 300">
<defs>
<text id="startText" >CLICK ANYWHERE</text>
</defs>
<rect id="startMe" x="0" y="0" width="300" height="300" fill= "red"> </rect>
<g transform="translate(50, 50)">
<path d="M 100,0 200,200 0,200 50,100 z;" fill="green" stroke="black" stroke-linecap="round" stroke-width="32" stroke-linejoin="round" stroke-dasharray="68">
<animate id="morphMe"
restart="always"
begin="startMe.click;startText.click;click;"
attributeName="d"
dur="2s"
calcmode="spline"
repeatCount="2"
values=
"M 100,0 200,200 0,200 50,100 z ;
M 200,0 200,200 0,200 00,0 z ;
M 200,200 0,200 0,0 200,0 z ;
M 200,0 200,200 0,200 00,0 z ;
M 100,0 200,200 0,200 50,100 z:"
keyTimes="0; .25; .5; .75; 1"
keySplines="1 0 1 1; 1 0 1 1; 1 0 1 1; 1 0 1 1;"
fill="freeze"
/>
</path>
</g>
<g>
<use xlink:href="#startText" x="150" y="160" style="font-size: 18pt; fill: white; stroke: none; font-family: Rockwell; text-anchor: middle;"/>
<set attributeName="visibility" attributeType="CSS" to="hidden" begin="morphMe.begin"/>
<set attributeName="visibility" attributeType="CSS" to="visible" begin="morphMe.end+.5s"/>
</g>
</svg
ポインタのイベントオブジェクトには、私がこれまでに研究されてきたものを超えている(私は初心者の浅瀬ではまだです。)私はそれに見ていきます。あなたの変更は、Firefoxで私のために働いています(ありがとう!)まだクロムで同じ動作をしています:テキストはアニメーションを通して最初から再現されますが、後続のアニメーションの実行後に戻ってくることはありません。これはSVGのサポートが非常に不均一で、構文に間違いがないと思われるので、かなり残念です。私はまだ少しでも違法なことをやっている可能性があるという点にいる。 – darrellart
あなたはChromeのバグを見つけました。私の答えには構文に間違いがありません。ここでChromeのバグを報告することができます:https://crbug.com/wizard –
私のコードを見直してくれてありがとうございます。 – darrellart