javascript - 单击内存游戏的第一张牌时启动计时器

标签 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>

最佳答案

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

您所需要做的就是从页面加载时发生的函数中删除 resetTimer() 调用,然后只需在(卡的)onClick 中进行检查即可查看计时器是否已启动。 timer.秒==0 &&timer.分钟==0

关于javascript - 单击内存游戏的第一张牌时启动计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46458740/

相关文章:

click - 使用 AutoHotkey 单击窗口中的按钮

javascript - 查找 SVG 路径中的中点

javascript - 如何使用动画导航到页面的某个部分?

javascript 计时器显示自下订单以来的时间滴答

Javascript 倒数计时器

java gwt 点击处理程序

javascript - 在 Vue.js + Laravel 中将 $var 传递到 @{{ }} 中不起作用

javascript - 正则表达式匹配字符的所有实例,除非后跟数字或单独存在

javascript - 个人最佳记分员/计时器

jquery - Touchstart 点击事件不适用于 iPhone/iPade