次のコードは、一致するセット内の各要素でクリック機能を実行し、クリックが各要素で有効になる前にクリックを200ミリ秒遅らせることになっています。
$('.panel').each(function(){
window.setTimeout($('a.last').click(),pdel);
pdel += 200;
});
それはすべて同時に起こり、タイムアウト機能は機能していません。
pdel
それぞれの外で宣言されたと思います。ただし、関数を使用する必要があります。そうしないと、メソッドsetTimeout
の結果がに渡されます。.click()
setTimeout
これを試して:
var pdel = 0;
$('.panel').each(function(){
setTimeout(function(){
$('a.last').click();
}, pdel);
pdel += 200;
});
ウィンドウを削除し、時間関数をjQuery関数としてリセットします。
var pdel = 0;
$('.panel').each(function(){
setTimeout(function(){ $('a.last').click(); },pdel);
pdel += 200;
});
QED
$( "。panel")はこのコードで何をする必要がありますか?クラス「パネル」の要素の量についてですか?
$( "。panels")の金額を数えるだけです:
var c = $(".panels").length;
var pdel = 200;
for(var i = 0; i < c; i++) {
window.setTimeout(function() { /* your function */ }, pdel*c)
}
そして、本当に200ミリ秒ごとに、すべてのa.last
要素がクリックされることを望んでいますか。対応するものだけではありません.panel
か?したがって、内部関数は次のようになります。
function() { $(".panels").eq(c).find("a.last").click() }