点击记忆游戏的第一张牌时启动计时器

时间:2017-09-27 23:33:12

标签: javascript timer click event-listener

好的我正在尝试结束一个项目,唯一阻止我的是他们要求计时器开始点击一场比赛。当HTML文件加载时,计时器启动,这不是项目想要的,我尝试了一些方法,但最终冻结了游戏。我希望计时器能够在点击卡片时启动。

var open = [];
var matched = 0;
var moveCounter = 0;
var numStars = 3;
var timer = {
    seconds: 0,
    minutes: 0,
    clearTime: -1
};

//Start timer
    var startTimer = function () {
        if (timer.seconds === 59) {
            timer.minutes++;
            timer.seconds = 0;
        } else {
            timer.seconds++;
    };


    // Ensure that single digit seconds are preceded with a 0
    var formattedSec = "0";
        if (timer.seconds < 10) {
            formattedSec += timer.seconds
        } else {
            formattedSec = String(timer.seconds);
        }

        var time = String(timer.minutes) + ":" + formattedSec;
        $(".timer").text(time);
    };

这是点击卡片的代码。我试图在其中包含一个startTimer代码,但不起作用。

var onClick = function() {
    if (isValid( $(this) )) {

        if (open.length === 0) {
            openCard( $(this) );

        } else if (open.length === 1) {
            openCard( $(this) );
            moveCounter++;
            updateMoveCounter();

            if (checkMatch()) {
                setTimeout(setMatch, 300);

            } else {
                setTimeout(resetOpen, 700);

            }
        }
    }
};

这个我用于HTML文件的类代码

<span class="timer">0:00</span>

1 个答案:

答案 0 :(得分:0)

试试这个:https://codepen.io/anon/pen/boWQbe

您需要做的只是从页面加载时发生的函数中删除client send question to SO client send comment to the question from op 1. 调用,然后只需检查resetTimer()(卡片)以查看计时器是否已启动。 onClick