Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.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使块可见/不可见_Javascript - Fatal编程技术网

使用javascript使块可见/不可见

使用javascript使块可见/不可见,javascript,Javascript,这是我的密码 var i = 0; var submenues = document.getElementsByClassName("submenu"); var click = 1; function submenuvisible() { if (click == 1) { for (i; i < submenues.length; i++) { submenues[i].style.display = "block"; } click = 2;

这是我的密码

var i = 0;
var submenues = document.getElementsByClassName("submenu");
var click = 1;

function submenuvisible() {
  if (click == 1) {
    for (i; i < submenues.length; i++) {
      submenues[i].style.display = "block";
    }
    click = 2;
    return;
  }
  if (click == 2) {
    for (i; i < submenues.length; i++) {
      submenues[i].style.display = "none";
    }
    click = 1;
    return;
  }
}
var i=0;
var submenues=document.getElementsByClassName(“子菜单”);
var-click=1;
函数子菜单可见(){
如果(单击==1){
对于(i;i

虽然当i
onclick=subnumvisible()时,它只工作1次。我做错了什么?

你的错误在for循环中

其中有:
for(i;i

您需要在for循环的开头将变量
i
重置为
0

for(i=0;i


如果不重置它,则
i
将保持与第一次运行函数后相同的值。您可以通过不将
i
设置为全局变量来进一步改进代码,但总体而言,我希望这可以解释您的问题。

更好的是,删除全局声明并使用
for(让i=0;…)
保持循环的范围。哇,它比你工作得更好,虽然没有意义)c#不需要重置变量如果没有意义,那么我就无法正确解释/帮助你。@TylerRoper在他们的评论中提出了一个很好的建议,也许可以帮我改进我的答案。o只是没有完整阅读你的答案或者你更新了它,现在我明白了,第二次i=4(数组长度),我应该使用不同的变量a noob错误,尽管我是noob