对于学校项目,我需要为多个设备制作第二个屏幕。我将按时间假设屏幕变化。所以让我们说在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`};
答案 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秒。