Javascript 在jquery中延迟语句?

Javascript 在jquery中延迟语句?,javascript,jquery,Javascript,Jquery,我这里有两行javascript,当toggle函数执行时,我想在find函数发生之前延迟 $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); }); 我想延迟要执行的第二行代码,因为出于某种原因,

我这里有两行javascript,当toggle函数执行时,我想在find函数发生之前延迟

$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);

    });

我想延迟要执行的第二行代码,因为出于某种原因,警报在切换操作发生之前发生,所以它们一定是延迟第二行代码的一种方法。感谢使用回调函数。这样可以确保在运行循环函数之前切换已完成执行

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

        alert(e.id);

    });
})
这样你就不需要耽搁了。您的代码将在
toggle()
函数之后立即运行。

您可以使用以下方法:


使用jQuerys延迟函数:)


除了使用回调,您还可以使用
.stop()


如果目标是在动画完成后触发函数,则可以传递仅在动画完成后运行的回调函数

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

    function(i, e) {
        alert(e.id);
    });
});

使用切换的动画回调如何?这样,您就可以使弹出窗口在动画制作完成的精确时刻出现……OP表示,他希望在“查找”函数之前有1250毫秒的延迟。@j08691我相信这只是因为OP希望确保
toggle()
已完成执行。我的代码确保它有。
setTimeout( function () { $activeToggle.toggle("fast"); }, 1250);
$activeToggle.delay(1250).toggle("fast", function(){
   $(this).find(".anime").each(function (i,e){ // this code runs

        alert(e.id);

    });
})
$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);
});
$activeToggle.toggle("fast", function() {
    $activeToggle.find(".anime").each(

    function(i, e) {
        alert(e.id);
    });
});