Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.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_Javascript_Html_Css - Fatal编程技术网

Javascript 在第一次/最后一次单击时循环浏览、显示和隐藏文本/div

Javascript 在第一次/最后一次单击时循环浏览、显示和隐藏文本/div,javascript,html,css,Javascript,Html,Css,抱歉,如果这是一个愚蠢的问题,但我正在为一个网站做一些东西,但无法理解这个问题 如何使此div在第一次单击按钮时显示,在数组中循环,然后在数组中的最后一项后消失 var myArray=[你好,谢谢,再见]; var-myIndex=1; var print=document.getElementById'print'; print.innerHTML=myArray[0]//立即打印数组的第一个值。 函数nextElement{ print.innerHTML=myArray[myIndex

抱歉,如果这是一个愚蠢的问题,但我正在为一个网站做一些东西,但无法理解这个问题

如何使此div在第一次单击按钮时显示,在数组中循环,然后在数组中的最后一项后消失

var myArray=[你好,谢谢,再见]; var-myIndex=1; var print=document.getElementById'print'; print.innerHTML=myArray[0]//立即打印数组的第一个值。 函数nextElement{ print.innerHTML=myArray[myIndex++%myArray.length]; }; 未找到{ 背景:2abffff; 填充:19px; 利润率:15px; 颜色:fff; }


您可以在nextElement内部检查该元素是否是最后一个元素,然后只隐藏div

   function nextElement() {
      print.innerHTML = myArray[myIndex++%myArray.length];
      if(myIndex>myArray.length){
        document.getElementById("notfound").style.visibility = "hidden";
      }
   };

jsiddle:

因为您不希望div在第一次单击之前出现,所以请立即删除带有//Print first value数组的行

一个选项是从索引-1开始,当索引为0时使元素可见,当索引大于或等于数组长度时隐藏元素:

var arr=[你好,谢谢,再见]; var指数=-1; var print=document.getElementById'print'; 函数nextElement{ 索引++; 如果索引>=arr.length{ print.style.visibility='hidden'; 回来 } 如果index==0 print.style.visibility='visible'; print.textContent=arr[index]; } 未找到{ 背景:2abffff; 填充:19px; 利润率:15px; 颜色:fff; } .打印{ 可见性:隐藏; }


这是你想做的吗:

如果是,仅添加该行:

document.getElementById('notfound').style.display = 'none';

您是希望通过单击触发每个步骤来触发这些事件,还是希望您描述的整个序列在单击一次后发生?@ggorlen我希望在单击按钮之前,not found div不显示,并在数组中的3个列出的项之间循环,最后单击时,notfound div消失。我如何才能使其完全消失,但该div不会在加载时显示,只会在第一次单击后以欢迎的方式显示?@lps666您只需在该代码中添加一个else,将myIndex=0时的可见性设置为visible即可。请注意,要使其工作,myIndex应初始化为-1。如何使整个notfound div也随文本一起出现和消失?只需选择它而不是打印,并将其指定为可见性而不是打印