Jquery延迟无法正常工作

时间:2011-11-22 22:21:30

标签: javascript jquery

在显示我的图像后,有人可以告诉我为什么我的功能没有执行吗?

 $("#screen").css("background-image", "url('screens/animated/077.gif')").delay(5000).queue(function() {
       $("#screen").css("background-image", "url('screens/animated/078.gif')").delay(5000).queue(function() {
           buttonClick(16);
       });

    });        

不知道为什么它不会调用我的buttonClick(16);功能

3 个答案:

答案 0 :(得分:1)

你可以动画而不是老兄吗? animate()你可以传递一个时间,也有一个回调函数,所以一旦第一个动画完成,你可以运行更多的代码,即

$(this).animate(function(){
    //Do animation
},1000,function(){
    //Animation is complete, do something else like the next animation
    $(this).animate(function(){
        //Another animation to run once the first is complete
    });
});

答案 1 :(得分:0)

因为你没有出队。

$("#screen").css("background-image", "url('screens/animated/077.gif')").delay(5000).queue(function () {
    $(this).css("background-image", "url('screens/animated/078.gif')").delay(5000).queue(function () {
        $(this).dequeue();
        buttonClick(16);
    }).dequeue();
});

答案 2 :(得分:0)

队列函数接收一个param,你应该在下一个函数运行时调用它。 例如:

$().queue(function (next) {
    // Do what you need
    next();
});