让 SVGator Javascript API 在计时器循环中工作

问题描述 投票:0回答:1

我有一个 4 秒的 SVGator 动画,需要完整运行,然后让最后 2 秒无限循环。我已导出为 SVG/Javascript,然后使用以下 JS 代码...

const element = document.getElementById('eDuWOrNCbmP1');
var player = element ? element.svgatorPlayer : {};

function timerLoop() {
    player.seekTo(2000)();
    setInterval( timerLoop, 2000);
}
if (player.play) {
    player.play();
    setInterval( timerLoop, 4000);  
}

这工作正常,但仅适用于timerLoop的一次迭代,即最后2秒的一次重复。在此之后,它会停止工作并出现 JS 错误...

Uncaught TypeError: player.seekTo(...) is not a function
at timerLoop

有什么想法吗?

javascript setinterval svgator
1个回答
0
投票

需要在timerLoop()中调用.play()。

const element = document.getElementById('eDuWOrNCbmP1');
var player = element ? element.svgatorPlayer : {};

function timerLoop() {
    player.seekTo(2000)();
    // EDIT Add this .play()
    player.play();
    setInterval( timerLoop, 2000);
}
if (player.play) {
    player.play();
    setInterval( timerLoop, 4000);  
}
© www.soinside.com 2019 - 2024. All rights reserved.