Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 试图使时钟在单击时起作用_Javascript_Jquery_Timer_Project_Codepen - Fatal编程技术网

Javascript 试图使时钟在单击时起作用

Javascript 试图使时钟在单击时起作用,javascript,jquery,timer,project,codepen,Javascript,Jquery,Timer,Project,Codepen,谢谢你过来 我一直在尝试向我正在进行的项目中添加一个特性或功能,但我就是想不通 当我的项目加载时,我希望用户在移动或单击其中一个球体时立即激活时间,而不是在项目加载时。我知道有onClick或click事件,但在js代码中实现它时遇到了问题。我甚至对整个函数进行了注释或“灰显”以测试 以下是一些时间代码: function clockStart() { numberOfSecs = setInterval(function () { seconds.text(`${sec

谢谢你过来

我一直在尝试向我正在进行的项目中添加一个特性或功能,但我就是想不通

当我的项目加载时,我希望用户在移动或单击其中一个球体时立即激活时间,而不是在项目加载时。我知道有onClick或click事件,但在js代码中实现它时遇到了问题。我甚至对整个函数进行了注释或“灰显”以测试

以下是一些时间代码:

function clockStart() {
    numberOfSecs = setInterval(function () {
        seconds.text(`${second}`)
        second = second + 1
    }, 1000);
}

function rewindSec(seconds) {
    if (seconds) {
        clearInterval(seconds);
    }
}

gameStart();

// GAMES BEGIN!!!
function gameStart() {
    var cards = shuffle(listOfCards);
    deckOfCards.empty();
    match = 0;
    Moves = 0;
    moveNum.text("0");
    ratingStars.removeClass("fa-angry").addClass("fa-star");
    for (var i = 0; i < cards.length; i++) {
        deckOfCards.append($('<li class="card"><i class="fab fa-' + cards[i] + '"></i></li>'))
    }
    sourceCard();

    rewindSec(numberOfSecs);
    second = 0;
    seconds.text(`${second}`)
    clockStart();
};
函数clockStart(){
numberOfSecs=setInterval(函数(){
text(`${second}`)
秒=秒+1
}, 1000);
}
函数倒带秒(秒){
如果(秒){
清除间隔(秒);
}
}
gameStart();
//游戏开始!!!
函数gameStart(){
var卡=洗牌(卡片列表);
deckOfCards.empty();
匹配=0;
移动=0;
moveNum.text(“0”);
ratingStars.removeClass(“fa Anger”).addClass(“fa star”);
对于(变量i=0;i'))
}
源卡();
倒带秒(秒数);
秒=0;
text(`${second}`)
时钟启动();
};
下面是我所说的项目的链接:

全页浏览:

编辑器视图:

警告:项目不支持移动。至少现在还没有

如果有人能帮我解决这个问题,我会向你致谢的


谢谢

您可以更改在另一个位置启动时钟的事件

首先从gameStart()方法中删除clockStart()函数

seconds.text(`${second}`)
//clockStart();
如果已添加额外变量来检测时钟是否启动

var isClockStarted=false;
单击卡时,以下代码将启动计时器:

var sourceCard = function () {

deckOfCards.find(".card").bind("click", function () {
if(!isClockStarted)
clockStart();
下面的代码将检查计时器是否启动

function clockStart() {
if(!isClockStarted){
    isClockStarted=true;
numberOfSecs = setInterval(function () {
    seconds.text(`${second}`)
    second = second + 1
}, 1000);
} }

我发现即使在游戏结束后,你也没有停止计时器


如果取消了游戏,它会再次启动计时器//toCheck

Hi Hitech!非常感谢你调查这件事。我做过类似的事情,但我想我一定是漏掉了分号什么的。当我刷新页面并点击一张卡片时,计时器就会工作。不幸的是,当我通过“重新启动”按钮重新启动项目时,计时器没有移动。