NO.11
</style>の下に以下のコードを追加
<script>
// 繰り返す回数
const repeatCount = 3;
let count = 0;
const spans = document.querySelectorAll('.animate span');
const original = Array.from(spans).map(span => ({
animation: span.style.animation,
opacity: span.style.opacity,
transform: span.style.transform
}));
function restart() {
spans.forEach(span => {
span.style.animation = 'none';
span.style.opacity = '0';
span.style.transform = 'translate(-150px, 0) scale(0.3)';
});
void document.body.offsetHeight;
spans.forEach((span, i) => {
span.style.animation = original[i].animation;
});
count++;
if (count < repeatCount) {
// 全体の時間:最後の delay(3.6s) + アニメ時間(0.5s)
setTimeout(restart, 4100);
}
}
restart(); // 初回実行
</script>
<style>にある
animation: leftRight 0.5s forwards;
.txt p:nth-child(10) {
animation-delay: 3.6s
この 0.5s と 3.6s の合計 4.1s を setTimeout(restart, 4100); に 4100(ミリ秒)として設定します。
文字数により変更してください。