JQuery:如何在我自己的函数中使用JQuery延迟?

时间:2010-04-23 06:13:33

标签: javascript jquery

如何将JQuery delay与我自己定义的函数一起使用,伪代码如此?:

$('#foo').slideUp(300).delay(800).myOwnFunction(1,2,3);
function myOwnFunction (a,b,c) {...}

上面的代码不起作用,但是JQuery documentation看起来应该是这样。

2 个答案:

答案 0 :(得分:4)

在此处使用setTimeout()。在动画完成向上滑动后,它将运行包含setTimeout()的匿名函数,该函数在大约800毫秒后调用您的函数。

$('#foo').slideUp(300, function() {

    setTimeout(function() {

       myOwnFunction(1, 2, 3);

    }, 800);

});




function myOwnFunction(a, b, c) {
       alert(a + b + c);
   };

下面定义的并不重要,因为它的定义应该被提升到顶部。

答案 1 :(得分:1)

$('#foo')
    .slideUp(300)
    .delay(800)
    .queue(function () {
        myOwnFunction(1,2,3);
        $(this).dequeue();
    });

请参阅: