0

ここに2行のJavaScriptがあります。トグル関数が実行されると、検索関数が発生する前に遅延させたいと思います。

$activeToggle.toggle("fast"); // i want this to run and then after 1250 millisec
$activeToggle.find(".anime").each(function (i,e){ // this code runs

        alert(e.id);

    });

何らかの理由でトグルアクションが実行される前にアラートが発生しているため、コードの2行目の実行を遅らせたいので、2行目を遅らせる方法である必要があります。ありがとう

4

6 に答える 6

9

コールバック関数を利用してください。これにより、お持ちのループ機能を実行する前に、トグルの実行が終了します。

$activeToggle.toggle("fast", function(){
   $(this).find(".anime").each(function (i,e){ // this code runs

        alert(e.id);

    });
})

このように、あなたは遅れる必要はありません。コードは関数の直後に実行されtoggle()ます。

于 2012-07-24T15:50:38.387 に答える
1

delay()メソッドを使用できます。

   $activeToggle.delay(1250).toggle("fast");
于 2012-07-24T15:51:10.617 に答える
1
setTimeout( function () { $activeToggle.toggle("fast"); }, 1250);
于 2012-07-24T15:51:22.950 に答える
0

jQuerys遅延関数を利用してください:)

$activeToggle.delay(1250).toggle("fast", function(){
   $(this).find(".anime").each(function (i,e){ // this code runs

        alert(e.id);

    });
})
于 2012-07-24T15:55:54.400 に答える
0

コールバックを使用するだけでなく、コードを実行する前に待機するようにコードを設定できます。.stop()

$activeToggle.toggle("fast"); // i want this to run and then after 1250 millisec
$activeToggle.find(".anime").stop(true,true).each(function (i,e){ // this code runs
        alert(e.id);
});
于 2012-07-24T15:58:51.930 に答える
0

アニメーションの完了後に関数をトリガーすることが目標の場合は、アニメーションの完了後にのみ実行されるコールバック関数toggle()を渡すことができます。

$activeToggle.toggle("fast", function() {
    $activeToggle.find(".anime").each(

    function(i, e) {
        alert(e.id);
    });
});
于 2012-07-24T16:11:24.367 に答える