Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Div不';t对显示作出反应=无_Javascript - Fatal编程技术网

Javascript Div不';t对显示作出反应=无

Javascript Div不';t对显示作出反应=无,javascript,Javascript,我的目标是创建一个函数,它将在延迟后在同一位置交换4个div,这意味着 div“commission1”可见,因此在1秒后它将消失,div“commission2”将取代它的位置>1秒后消失>commission3>dissapears>commission4,并且它应该循环,但在我设法做到这一点之前,它已经不起作用了 我有意外的输入结束错误 我没有发现任何缺少符号或字母的地方,所以我不知道这个错误是怎么回事 请记住,这是我在休息4年后第一次使用java,那时我已经是初学者了:D 提前感谢:)

我的目标是创建一个函数,它将在延迟后在同一位置交换4个div,这意味着

div“commission1”可见,因此在1秒后它将消失,div“commission2”将取代它的位置>1秒后消失>commission3>dissapears>commission4,并且它应该循环,但在我设法做到这一点之前,它已经不起作用了

我有意外的输入结束错误 我没有发现任何缺少符号或字母的地方,所以我不知道这个错误是怎么回事

请记住,这是我在休息4年后第一次使用java,那时我已经是初学者了:D

提前感谢:)


问题在于,您向
setTimeout
函数提供了一个字符串作为参数,而不是要执行的另一个函数。应该是这样的

setTimeout(function() {document.getElementById('foo').style.display = 'none'}, 1000);
此外,要避免重复(不要重复),即使用函数,而不是一次又一次地复制完全相同的代码。我提供了我对代码的理解

演示:

HTML

Javascript

function hide(id){
    document.getElementById(id).className = "invisible";
}

function show(id){
    document.getElementById(id).className = "visible";
}

function visibility(){
    hide("commission4"); show("commission1");
    setTimeout(() => { hide("commission1"); show("commission2") }, 1000);
    setTimeout(() => { hide("commission2"); show("commission3") }, 2000);
    setTimeout(() => { hide("commission3"); show("commission4") }, 3000);
    setTimeout(() => { visibility() }, 4000);
}

visibility();

首先,要使用
style.display
显示元素,应执行
element.style.display='block'
(或其他有效的显示值,如
内联块
)。我认为
display
不是一个有效的css显示值

至于你试图实现的总体目标,我将这样做:

const MAX=4;
常数超时=1000;
函数fn(n){
如果(n>MAX | | n<0){
n=1;
}

对于(设i=1;我并不是我见过的最漂亮的代码,但为了帮助您跟踪错误,您可以计算开始和结束
{
}
请注意数字不匹配。谢谢!您帮助了我很多,并提醒了我一些事情。这将是我了解更多信息的基础。@KrzysztofOrczyk请看一下我的编程笔记()。我相信您会找到一些东西。:)
<div id="commission1" class="invisible">1</div>
<div id="commission2" class="invisible">2</div>
<div id="commission3" class="invisible">3</div>
<div id="commission4" class="invisible">4</div>
.visible {display: block;}
.invisible {display: none;}
function hide(id){
    document.getElementById(id).className = "invisible";
}

function show(id){
    document.getElementById(id).className = "visible";
}

function visibility(){
    hide("commission4"); show("commission1");
    setTimeout(() => { hide("commission1"); show("commission2") }, 1000);
    setTimeout(() => { hide("commission2"); show("commission3") }, 2000);
    setTimeout(() => { hide("commission3"); show("commission4") }, 3000);
    setTimeout(() => { visibility() }, 4000);
}

visibility();