对于一个学校项目,我需要为几个设备制作第二个屏幕。我会根据时间来伪造屏幕的变化。所以假设在10分钟内,它必须显示这个div id=one,在20分钟内,它必须显示div id=two。不幸的是,我的代码不工作,我找不到问题所在。也许我认为的方式也是不正确的。
欢迎您的反馈,并提前表示感谢。
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`};发布于 2015-03-18 17:43:32
您可以尝试使用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发布于 2015-03-18 17:53:10
不需要第二个counter++。
您的代码中也存在语法错误,例如未右括号。
要使屏幕在10分钟和20分钟内更改,您需要使用
if(counter === (1000 * 60) * 10) {
1000等于1000毫秒,即1秒。所以你必须把它乘以60得到一分钟,然后再乘以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的值传递给它。ie - clearInterval(i);
在这里工作的JSFiddle。我已经在这个小提琴中使用了1秒和2秒。
https://stackoverflow.com/questions/29118267
复制相似问题