pause()
暂停引擎的主循环,暂停所有活动的 定时器、动画 和 时间线 实例。使用 engine.resume()
从暂停的位置重新启动动画。
engine.pause(); // Stops all animations
engine.resume(); // Resumes all animations
返回值
pause() 代码示例
import { engine, animate, utils } from 'animejs';
const [ $container ] = utils.$('.container');
const [ $add, $pause ] = utils.$('button');
function addAnimation() {
const $particle = document.createElement('div');
$particle.classList.add('particle');
$container.appendChild($particle);
animate($particle, {
x: utils.random(-10, 10, 2) + 'rem',
y: utils.random(-3, 3, 2) + 'rem',
scale: [{ from: 0, to: 1 }, { to: 0 }],
loop: true,
});
}
let timeout = 3;
let interval;
function pauseEngine() {
engine.pause();
$pause.setAttribute('disabled', 'true');
$pause.innerHTML = `Resume in ${timeout--} seconds`;
interval = setInterval(() => {
if (timeout <= 0) {
clearInterval(interval);
engine.resume();
$pause.removeAttribute('disabled');
$pause.innerHTML = 'Pause for 3 seconds';
timeout = 3;
} else {
$pause.innerHTML = `Resume in ${timeout--} seconds`;
}
}, 1000);
}
$add.addEventListener('click', addAnimation);
$pause.addEventListener('click', pauseEngine);
<div class="large row container"></div>
<div class="medium row">
<fieldset class="controls">
<button>Add animation</button>
<button>Pause for 3 seconds</button>
</fieldset>
</div>