関数は現在の実行を一時停止しません。setTimeout()
指定した関数の将来の実行をキューに入れます。ページの読み込み時に何かを行うには、ドキュメント対応ハンドラーを使用します。
私はあなたがこのようなものが欲しいと思います:
$(document).ready(function() {
var $divs = $("div.commonClass"),
i = 0;
function processNextDiv() {
namedFunction($divs.eq(i));
i = (i + 1) % $divs.length;
setTimeout(processNextDiv, 3000);
}
processNextDiv();
});
これは最初にすべての div を選択し (それらに共通のクラスを与えることをお勧めしますが、好きな方法でそれを行うことができます)、namedFunction()
処理する現在の div を渡すことを呼び出すタイムアウトベースのループを設定します。したがって、次のことができます。
function namedFunction($div) {
$div.animate(...); // process current div
}
processNextDiv()
または、他の場所から呼び出すことができるようにするかどうかに応じて、アニメーションまたはその他の div 処理コードをその関数に直接配置することもできnamedFunction()
ます。
デモ: http://jsfiddle.net/hWLTb/