JavaScript手风琴-for循环内部for循环存在问题
我为一个简单的手风琴编写了javascript代码。程序可以运行,但我有一个问题,每次加载页面时,我都必须双击标题(h2标记),然后它工作正常,只需单击一次即可响应。我不知道为什么在页面加载后它不会立即进入第二个for循环JavaScript手风琴-for循环内部for循环存在问题,javascript,html,css,accordion,Javascript,Html,Css,Accordion,我为一个简单的手风琴编写了javascript代码。程序可以运行,但我有一个问题,每次加载页面时,我都必须双击标题(h2标记),然后它工作正常,只需单击一次即可响应。我不知道为什么在页面加载后它不会立即进入第二个for循环 var acc=document.getElementsByClassName(“accordionItemHeading”); var panel=document.getElementsByClassName(“textAccordion”); var i; 对于(i=
var acc=document.getElementsByClassName(“accordionItemHeading”);
var panel=document.getElementsByClassName(“textAccordion”);
var i;
对于(i=0;i
.text手风琴{
显示:无;
背景颜色:蓝色;
溢出:隐藏;
}
一个
一个伟大的先驱者坐在智慧的奥纳雷面前,坐在毛里斯·弗林利亚面前
两个
一个伟大的先驱者坐在智慧的奥纳雷面前,坐在毛里斯·弗林利亚面前
三
一个伟大的先驱者坐在智慧的奥纳雷面前,坐在毛里斯·弗林利亚面前
四
一个伟大的先驱者坐在智慧的奥纳雷面前,坐在毛里斯·弗林利亚面前
页面加载后不会转到第二个for循环,因为第二个for循环在事件处理程序中。因此,当您实际单击某个对象时,事件处理程序将被调用,.addEventListener(“click”,()=>{})
因此,当您第一次单击它时,它将进入事件循环,并使用for循环执行回调。首先,您的面板将“
设置为其显示样式
唯一的问题是if
条件因此失败
如果在第一个循环开始时(在事件侦听器之前)设置了display:none
,则该行为就是您期望的行为
var acc=document.getElementsByClassName(“accordionItemHeading”);
var panel=document.getElementsByClassName(“textAccordion”);
var i;
对于(i=0;i
.text手风琴{
显示:无;
背景颜色:蓝色;
溢出:隐藏;
}
一个
一个伟大的先驱者坐在智慧的奥纳雷面前,坐在毛里斯·弗林利亚面前
两个
一个伟大的先驱者坐在智慧的奥纳雷面前,坐在毛里斯·弗林利亚面前
三
一个伟大的先驱者坐在智慧的奥纳雷面前,坐在毛里斯·弗林利亚面前
四
一个伟大的先驱者坐在智慧的奥纳雷面前,坐在毛里斯·弗林利亚面前
是的,你说得对,这就是问题所在。谢谢!