2

合計が与えられ、コンテナーの下部から上部に数字がアニメーション化されるモグラたたきスタイルのゲームを作成しています。ゲームの目的は、合計に対する正しい答えをクリックして、できるだけ多くの正しい答えを収集することです。

また、ゲームをより楽しくするために、いくつかのアイコンを追加しました。アイコンの 1 つは、タイマーとアイコンを 3 秒間フリーズさせる雪の結晶です。

現時点では、クロックを 3 秒間停止しても問題はありません。この部分はすべて正常に動作します。私が抱えている問題は、数字やその他のアイコンを 3 秒間停止することです。

私はこれを試しました..

    $(".character").click(clickThrottled(function () {
        if ($(this).hasClass("freeze")) { 
            $(this).effect("explode", 400);
            $('.character').stop(true);
            window.clearInterval(countdown);
            window.setTimeout(function() {
            countdown = window.setInterval(timer, 1000);
        }, 3000);
    }
}));

ただし、アイコンを完全に停止するだけです。setTimeout 関数で stop() を突き合わせることも試みましたが、これも機能しません。誰かが私が間違っているところを教えてもらえますか?

フィドル: http://jsfiddle.net/pUwKb/52/

4

1 に答える 1

1

stop はキューからすべてのアニメーションをクリアします。次のようにアニメーションを追加してみてください。

$(".character").click(clickThrottled(function () {
    if ($(this).hasClass("freeze")) { 
        $(this).effect("explode", 400);
        $('.character').stop(true).delay('3000').animate({
          'top': '-100px'
        }, 2000).fadeOut(1000);
        window.clearInterval(countdown);
        window.setTimeout(function() {
        countdown = window.setInterval(timer, 1000);
    }, 3000);
}
于 2013-01-16T17:23:00.133 に答える