HTML5 はこのタグをサポートしていませんが、多くのブラウザーはテキストを「適切に」表示しますが、コードは検証されません。これが問題にならない場合は、オプションになる可能性があります。
CSS3 にはおそらくマーキー テキストを持つ機能がありますが、それを行う方法を知っている人なら誰でも、それは CSS の「悪い考え」だと信じているため、私がオンラインで見つけた情報は非常に限られています。W3 のドキュメントでさえ、愛好家や独学の人が実装できるほど詳しく説明されていません。
PHP と Perl も同じ効果を再現できます。これに必要なスクリプトは非常に複雑で、他のオプションよりもはるかに多くのリソースを消費します。一部のブラウザではスクリプトの実行速度が速すぎて、効果が完全に無効になる可能性もあります。
JavaScript に戻ります。あなたのコード (OP) は、私が見つけた中で最もクリーンで、最も単純で、最も効果的です。これを試してみます。シームレスにするために、最後と最初の間の空白を制限する方法を検討します。おそらく while ループ (または同様のループ) を実行し、実際に 2 つのスクリプトを実行して、一方が処理中に一方を休ませます。
単一の関数変更で空白をなくす方法もあるかもしれません。私はJSが初めてなので、頭の中でわかりません。-これが完全な答えではないことはわかっていますが、他の誰かのためだけに、アイデアが結果をもたらすことがあります。