【发布时间】:2021-05-13 10:50:28
【问题描述】:
我使用 html5 CMS 模板,我还想在其中集成 SVG 动画。音频文件链接到 SMIL 动画。这只能用javascript来解决。
当音频 SVG 动画停止并重新启动时会出现问题。两者都应该单击一次,但它没有成功,因为我无法在 javacript 中输入 2 次单击以获取两种状态的 SMIL 动画,暂停和未暂停。
如何连接这两个来源?: (你可以在网站arteurope.de看到它,你必须点击按钮)
我需要放
svg.addEventListener("mouseout", function() {
svg.pauseAnimations();
进入
svg.addEventListener("click", function() {
svg.pauseAnimations();
然后动画没有开始,因为第一个函数的“点击”说:unpauseAnimation,第二个函数说:pauseAnimation。
<script type="text/javascript">
(function () {var svg = document.getElementsByTagName('svg')[0],
audio = null;
svg.addEventListener('click', handler, false);
function handler() {
if (!audio) {
audio = new Audio('https://arteurope.de/files/Vergessen.mp3');
audio.play();
} else if (audio && audio.paused) {
audio.play();
} else {
audio.pause();
}
}
})();
</script>
<script type="text/javascript">
var svg = document.querySelector(".svg-gears");
svg.pauseAnimations();
svg.addEventListener("click", function() {
svg.unpauseAnimations();
});
svg.addEventListener("mouseout", function() {
svg.pauseAnimations();
});
</script>
【问题讨论】:
标签: javascript svg synchronized eventhandler smil