Javascript循环未在严格模式下执行,否则将正常工作

Javascript循环未在严格模式下执行,否则将正常工作,javascript,strict,Javascript,Strict,我已经创建了代码片段,按钮应该通过单击来上下滑动,但由于某种原因,这并没有发生。它看起来像是某种微妙的语法错误吗?如果我需要提供一些额外的信息,请告诉我 有人能告诉我为什么我的脚本不起作用吗 提前谢谢 我的代码在这里: (函数(){ "严格使用",; var accItem=document.getElementsByClassName('accordionItem'); var accHD=document.getElementsByClassName('accordionItemHeadi

我已经创建了代码片段,按钮应该通过单击来上下滑动,但由于某种原因,这并没有发生。它看起来像是某种微妙的语法错误吗?如果我需要提供一些额外的信息,请告诉我

有人能告诉我为什么我的脚本不起作用吗

提前谢谢

我的代码在这里:

(函数(){
"严格使用",;
var accItem=document.getElementsByClassName('accordionItem');
var accHD=document.getElementsByClassName('accordionItemHeading');
对于(i=0;i
正文{
背景:-webkit线性梯度(左,#25c481,#25b7c4);
背景:线性梯度(向右,#25c481,#25b7c4);
}
.手风琴包装{
填充:30px;
背景:#fff;
浮动:左;
宽度:80%;
框大小:边框框;
利润率:10%;
盒影:01.5em85px0rgba(0,0,0,0.2);
}
.手风琴项目{
浮动:左;
显示:块;
宽度:100%;
框大小:边框框;
字体系列:“开放式sans”、Arial、sans serif;
}
.手风琴项目标题{
光标:指针;
保证金:0px 0px 10px 0px;
填充:10px;
背景#2980b9;
颜色:#fff;
宽度:100%;
-webkit边界半径:3px;
-moz边界半径:3px;
边界半径:3px;
框大小:边框框;
}
.close.accordionItemContent{
高度:0px;
过渡段:高度1s放松;
-webkit转换:scaleY(0);
-o变换:scaleY(0);
-ms变换:scaleY(0);
变换:scaleY(0);
浮动:左;
显示:块;
}
.open.accordionItemContent{
填充:20px;
背景色:#fff;
边框:1px实心#ddd;
宽度:100%;
保证金:0px 0px 10px 0px;
显示:块;
-webkit转换:scaleY(1);
-o变换:scaleY(1);
-ms变换:scaleY(1);
变换:scaleY(1);
-webkit转换原点:顶部;
-o-变换原点:顶部;
-ms变换原点:top;
变换原点:顶部;
-webkit转换:-webkit转换0.4s缓解;
-o-转换:-o-转换0.4s容易;
-ms转换:-ms转换0.4s容易;
转型:转型0.4s轻松;
框大小:边框框;
}
.打开.手风琴项目标题{
边际:0px;
-webkit边框左上半径:3px;
-webkit边框右上角半径:3px;
-左上角moz边界半径:3px;
-moz边框半径右上角:3px;
边框左上半径:3px;
边框右上角半径:3px;
-webkit边框右下半径:0px;
-webkit边框左下半径:0px;
-moz边框半径右下角:0px;
-moz边框半径左下角:0px;
边框右下半径:0px;
边框左下半径:0px;
背景色:#bdc3c7;
颜色:#7f8c8d;
}

关于手风琴
JavaScript手风琴可以让您将大量内容压缩到网页的一个小空间中

这种简单的手风琴在不支持JavaScript或CSS的浏览器中会优雅地退化

手风琴项目 JavaScript手风琴由许多可展开/可折叠的项目组成。一次只能显示一个项目

您可以在手风琴项目中包含任何想要的内容。下面是一个项目清单:

  • 清单项目#1
  • 清单项目#2
  • 清单项目#3
如何使用JavaScript手风琴 单击手风琴项目的标题将其展开。要折叠项目,请再次单击它,或单击其他项目标题


如错误中所述,for循环中缺少
i
var声明

“消息”:“未捕获引用错误:未定义i”

要解决这个问题,请在for循环中声明i var

for (var i = 0; i < accHD.length; i++) {

关于手风琴
JavaScript手风琴可以让您将大量内容压缩到网页的一个小空间中

这种简单的手风琴在不支持JavaScript或CSS的浏览器中会优雅地退化

手风琴项目 JavaScript手风琴由许多可展开/可折叠的项目组成。一次只能显示一个项目

您可以在手风琴项目中包含任何想要的内容。下面是一个项目清单:

  • 清单项目#1
  • 清单项目#2
  • 清单项目#3
如何使用JavaScript手风琴 单击手风琴项目的标题将其展开。要折叠项目,请再次单击它,或单击其他项目标题


当您将代码从“邋遢模式”(即无严格模式)转换到严格模式时,一些在邋遢模式下可以接受的错误将被视为严格模式下的错误

这就是你的代码不起作用的原因

错误: “我”,。循环中使用的变量未定义,被视为 严格模式中的错误

控制台中的调试出现以下错误:

“消息”:“未捕获引用错误:未定义i”

解决方案→
for(i=0;i
应改为

for (var i = 0; i < accHD.length; i++)
for(变量i=0;i

for(设i=0;i
我还想澄清一下,由于
let
是块作用域,因此这是两个不同的变量(只是名称相同)。你也可以把第二个叫做j,以避免混淆

这张照片会让你清醒的
for (var i = 0; i < accHD.length; i++)
for (let i = 0; i < accHD.length; i++)