在一切都可见之后,如何使计数器运行?

时间:2018-03-29 01:03:33

标签: javascript for-loop addeventlistener

我正在尝试使用Javascript进行小倒计时。所以没有jQuery或东西。尝试了几件事并搜索了很多,但现在我遇到了一个我无法解决的问题。

我的想法是让计数器耗尽,同时用户有机会选择一个项目。当他在计数器为0之前没有这样做时,计算机得到一个点。 唯一的问题;脚本不会使隐藏的项目可见。只有开始按钮被固定下来,并且在控制台中可以看到计时器的日志。 如何在所有内容之间运行定时器的任何解决方案都会加载并且用户选择/确实没时间用完了?

function countdown() {
    for (startklaar === "ja"; timer >= 0; timer--) {
        var timersec = Math.floor(timer / 1000);
        console.log("Timer: " + timer);
        console.log("Timersec: " + timersec);
        document.getElementById('timerzin').textContent = ("Nog " + timersec + " seconden!");
    }
    if (timer === 0) {
        document.getElementById('timerzin').textContent = ("Tijd is op!");
        scoreComp++;
        statusronde = "stop";
        ronde(statusronde);
        }
}

function ronde() {
    if (statusronde === "start") {
        document.getElementById("steenme").hidden = false;
        document.getElementById("papierme").hidden = false; 
        document.getElementById("schaarme").hidden = false;
        document.getElementById("startronde").hidden = true;
//      timedown = setInterval(countdown(), 10000);
        countdown();
        startklaar = "ja";
    }
    else if (statusronde === "stop") {
        clearInterval(timedown);
//      document.getElementById("steenme").hidden = true;
//      document.getElementById("papierme").hidden = true;  
//      document.getElementById("schaarme").hidden = true;
        document.getElementById("startronde").hidden = false;
        startklaar = "nee";
    }
    else { console.log("Rare status: " + statusronde); }
}

1 个答案:

答案 0 :(得分:0)

一个大问题是,您需要更改元素的一部分以更改其可见性,我不确定.hidden是否有效。

我还修复了一些可能的错误:

var scoreComp = 0;
var statusronde;
var startklaar;
function countdown() {
    var timer;
    for (timer = 0; timer >= 0 && startklaar === "ja"; timer--) {
        var timersec = Math.floor(timer / 1000);
        console.log("Timer: " + timer);
        console.log("Timersec: " + timersec);
        document.getElementById('timerzin').innerHTML = ("Nog " + timersec 
        + " seconden!");
    }
    if (timer === 0) {
        document.getElementById('timerzin').innerHTML = ("Tijd is op!");
        scoreComp++;
        statusronde = "stop";
        ronde(statusronde);
    }
}

function ronde(status) {
    if (status === "start") {
        document.getElementById("steenme").style.display = "none";
        document.getElementById("papierme").style.display = "none"; 
        document.getElementById("schaarme").style.display = "none";
        document.getElementById("startronde").style.display = "block";
//      timedown = setInterval(countdown, 10000);
        countdown();
        startklaar = "ja";
    }
    else if (status === "stop") {
        clearInterval(timedown);
//      document.getElementById("steenme").style.display = "block";
//      document.getElementById("papierme").style.display = "block";  
//      document.getElementById("schaarme").style.display = "block";
        document.getElementById("startronde").style.display = "none";
        startklaar = "nee";
    }
    else { console.log("Rare status: " + status); }
}