JavaScript コードで遅延を発生させる必要がありますが、コードでタイムアウト関数を作成すると問題が発生します。ただし、タイムアウト コードを削除すると、完全に正常に動作します。ここでタイムアウト/遅延に関する他の投稿を検索しましたが、私の場合は少し違うと思います。
var myArray = new Array('Book One', 'Book Two', 'Book Three', 'Book Four');
x = myArray.length - 1;
(function myLoop(x) {
page = 3;
(function myLoop2(page) {
//setTimeout(function () {
var name = myArray[x];
alert(name + ' Page: ' + page);
if (--page) myLoop2(page);
//}, 1000 )
})(page);
if (x != 0) myLoop(--x);
})(x);
コード内のコメントを削除すると、別の出力が得られます。