javascript更多功能一次

时间:2015-03-18 09:28:08

标签: javascript function time counter

对于学校项目,我需要为多个设备制作第二个屏幕。我将按时间假设屏幕变化。所以让我们说在10分钟它必须显示这个div id = 1并且在20分钟它必须显示div id = 2。不幸的是我的代码不起作用,我无法找到问题。也许我认为的方式也不正确。

欢迎您的反馈,并提前多多感谢

  var counter = 0;
   var i = setInterval(function(){
    // do your thing

    counter++;
    if(counter === 1000) {
        document.getElementById("DoeDitVooralWelThuis").style.display ="block";
      document.getElementById("remaintime").style.display ="none";
    }
    counter++;
    if(counter === 2000) {
        document.getElementById("ExperimentArea").style.display ="block";
      document.getElementById("DoeDitVooralWelThuis").style.display ="none";
    }
 `enter code here`};

2 个答案:

答案 0 :(得分:1)

您可以尝试使用setTimeout()设置计时器。

function showFirst() {
    document.getElementById("DoeDitVooralWelThuis").style.display ="block";
    document.getElementById("remaintime").style.display ="none";
}
setTimeout(showFirst, 600000);//after 10 minutes

function showSecond() {
    document.getElementById("ExperimentArea").style.display ="block";
    document.getElementById("DoeDitVooralWelThuis").style.display ="none";
}
setTimeout(showSecond, 1200000);//after 20 minutes

答案 1 :(得分:1)

不需要第二个counter++
您的代码中也存在语法错误,例如未关闭的括号
要使屏幕在10分钟和20分钟内更改,您需要使用
if(counter === (1000 * 60) * 10) {

1000等于1000毫秒,即1秒。所以你必须将它乘以60来得到1分钟,然后乘以10得到10分钟。二十岁。

window.onload = function()
{
    var counter = 0;
    var i = setInterval(function(){

    counter++;
    if(counter === (1000 * 60) * 10) {
        document.getElementById("secondScreenElement").style.display ="block";
        document.getElementById("firstScreenElement").style.display ="none";
    }

    if(counter === (2000 * 60) * 10) {
        document.getElementById("secondScreenElement").style.display ="none";
        document.getElementById("thirdScreenElement").style.display ="block";
        clearInterval(i);
    }
 });
};

如果您想在显示最后一个屏幕后停止在屏幕之间切换,可以使用clearInterval并将setInterval的值传递给它。即 - clearInterval(i);

在这里工作JSFiddle。我在这个小提琴中使用了1秒和2秒。