首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >javascript一次完成更多功能

javascript一次完成更多功能
EN

Stack Overflow用户
提问于 2015-03-18 17:28:08
回答 2查看 42关注 0票数 0

对于一个学校项目,我需要为几个设备制作第二个屏幕。我会根据时间来伪造屏幕的变化。所以假设在10分钟内,它必须显示这个div id=one,在20分钟内,它必须显示div id=two。不幸的是,我的代码不工作,我找不到问题所在。也许我认为的方式也是不正确的。

欢迎您的反馈,并提前表示感谢。

代码语言:javascript
复制
  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`};
EN

回答 2

Stack Overflow用户

发布于 2015-03-18 17:43:32

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

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2015-03-18 17:53:10

不需要第二个counter++

您的代码中也存在语法错误,例如未右括号。

要使屏幕在10分钟和20分钟内更改,您需要使用

if(counter === (1000 * 60) * 10) {

1000等于1000毫秒,即1秒。所以你必须把它乘以60得到一分钟,然后再乘以10得到10分钟。二十个也一样。

代码语言:javascript
复制
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的值传递给它。ie - clearInterval(i);

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29118267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档