一次运行2个动画

时间:2013-01-03 10:13:35

标签: javascript jquery animation jquery-animate

我正在为儿童创建一个射击游戏,其中数字来自自下而上,他们必须点击与问题匹配的右边数据。

我目前使用此代码启动从下到上的数字

var bWidth = $('#' + id).width();
var bHeight = $('#' + id).css('top', '400px').fadeIn(1000).animate({
    'top': '-100px'
}, 7000).fadeOut(1000);

事情是,当用户得到正确的答案时,我会使用另一个动画来表明它是正确的,并且对于错误答案也是如此。

$(".character").click(function () {
    $(this).stop();
    if ($(this).hasClass("clock")) {
        if ($(this).hasClass("up")) {
            $(this).effect("explode", 300);
            count += 5;
        } else if ($(this).hasClass("down")) {
            $(this).effect("bounce", {
                times: 2,
                direction: 'left'
            }, 300, function() {
                $(this).slideUp('fast');
            });
            count -= 5;
        }
        $('#timer').text(count);
    } else {
        if ($(this).hasClass("wrong")) {
            $(this).effect("bounce", {
                times: 2,
                direction: 'left'
            }, 300, function() {
                $(this).slideUp('fast');
            });
            miss++;
            attempted++;
            $("#miss").html("Wrong: " + miss);
        } else {
            $(this).effect("explode", 300);
            hit++;
            attempted++;
            $("#hit").html("Right: " + hit);
            correctlabels();
        }
    }
});

我的问题是,当我点击数字时,在第二个动画开始之前有一个很大的停顿,有时根本不起作用。

我想知道是否有人可以告诉我一个解决方法,以便它顺利运行。谢谢!

这是帮助的小提琴:http://jsfiddle.net/pUwKb/19/

1 个答案:

答案 0 :(得分:2)

在animate()选项中使用queue: false

http://api.jquery.com/animate/