返回变量的值

时间:2014-08-31 04:16:50

标签: javascript jquery variables return countdown

代码:

var n = 360; // 6 min of waiting after blocked
function countDown() {
    n--;
    if (n > 0) {
        setTimeout(countDown, 1000);
    }
    $("span#waitcount").html(document.createTextNode(n));
}

var count = 50; // Count of tokens when reached 0 block the page
var counter = document.getElementById('counter');

var clickDisabled = false;
$('.slotMachineButton').click(function() {
    if (clickDisabled)
        return;
    setTimeout(function() {
        count--;
        counter.innerHTML = count;
        if (count === 0) {

            $.blockUI({message: '<h1>Thank you for Playing!!!<br>Please wait for 6 munites to be able to play again.</h1>'});
            setTimeout(function() {
                $.unblockUI({
                    onUnblock: function() {
                        alert('Game has been resumed!!!');
                    }
                });
            }, 10000);
            setTimeout(countDown, 1000);
        }
    });
    clickDisabled = true;
    setTimeout(function() {
        clickDisabled = false;
    }, 3000);
}

目标:

  • 当令牌数达到0时,将其恢复为原始值再次开始另一次计数,因为每当计数达到零时,它就会变为-1并继续运行。

  • 当等待6分钟结束时再开始等待,我不知道这部分代码是否正确,但请检查。

1 个答案:

答案 0 :(得分:0)

如果您想保留代码并且不遵循评论中的建议,那么请执行以下操作:

        var n = 360, // 6 min of waiting after blocked
            count = 50, // Count of tokens when reached 0 block the page
            counter = document.getElementById('counter'),            
            clickDisabled = false;

        function countDown(){
            if(n > 0){
                setTimeout(countDown, 1000);
            } else {
                n = 360;
                clickDisabled = false
            }
            $("span#waitcount").html(document.createTextNode(n));
            n--;
        }

        $('.slotMachineButton').click(function () {
            if (clickDisabled) {
                return;
            }
            setTimeout(function () {
                counter.innerHTML = count;
                if (count === 0) {
                    $.blockUI({ message: '<h1>Thank you for Playing!!!<br>Please wait or 6 munites to be able to play again.</h1>' });
                    setTimeout(function () {
                        $.unblockUI({
                            onUnblock: function () {
                                clickDisabled = true;
                                alert('Game has been resumed!!!');                                    
                                setTimeout(countDown, 10);
                            }
                        });
                    }, 1000);
                    count = 50;
                }
                count--;
            });
            clickDisabled = true;
            setTimeout(function () {
                clickDisabled = false;
            }, 100);
        });
芽你应该真的寻找一个不同的方法。我更改了测试的计时器值。