Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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,如何使它返回到假一旦超过最大步骤(这是最后一步),以前的功能不工作一旦超过最大步骤,我试图设置当前步骤为-1,但仍然不工作 当超过最大步长时,我在控制台上收到此错误消息(TypeError:bullets[current]未定义) 有人能帮我吗?提前谢谢 const-bullets=[…document.queryselectoral('.bullet'); 常数max=4; 设电流=-1; 函数next(){ 电流+=1; 如果(!项目符号[当前]){ 返回false; } 项目符号[cur

如何使它返回到假一旦超过最大步骤(这是最后一步),以前的功能不工作一旦超过最大步骤,我试图设置当前步骤为-1,但仍然不工作

当超过最大步长时,我在控制台上收到此错误消息(TypeError:bullets[current]未定义)

有人能帮我吗?提前谢谢

const-bullets=[…document.queryselectoral('.bullet');
常数max=4;
设电流=-1;
函数next(){
电流+=1;
如果(!项目符号[当前]){
返回false;
}
项目符号[current].classList.add('hovered');
}
函数previous(){
项目符号[current].classList.remove('hovered');
电流-=1;
如果(!项目符号[当前]){
返回false;
}
项目符号[current].classList.add('hovered');
}
.progressbar{
显示器:flex;
证明内容:之间的空间;
对齐项目:柔性端;
宽度:90%;
保证金:0自动;
边缘底部:40px;
}
.项目{
文本对齐:居中;
宽度:20%;
位置:相对位置;
}
.文本{
高度:50px;
利润率:10px 0px;
颜色:#3CB371;
}
.子弹{
边框:1px实心#3CB371;
高度:20px;
宽度:20px;
颜色:#3CB371;
显示:内联块;
过渡:背景色500ms;
线高:20px;
}
.子弹,悬停{
颜色:#fff;
背景色:#3CB371;
底部:10px;
}
.项目符号。完成时间:之后{
内容:'';
位置:绝对位置;
底部:80px;
高度:1px;
宽度:计算(133%-21px);
背景色:#3CB371;
左边距:7px;
}

1.
你好你好
2.
你好
3.
你好
4.
你好
以前的

下一步
您现在正在无条件地递增/递减当前的。即使您在调用
next
previous
时未尝试更改
classList
,下次单击任一按钮时,
当前
索引可能不存在。因此,在
previous
中,当您执行
项目符号[current].classList.remove('hovered')在函数的开头,如果最后一个
当前
超出了
项目符号
集合的可能标记,则将抛出

考虑使用
Math.max
/
Math.min
,以确保
当前
被限制为可能的标记(或
-1
,在不应突出显示的情况下):

const-bullets=[…document.queryselectoral('.bullet');
设电流=-1;
函数next(){
当前=数学最小值(当前+1,项目符号长度-1);
项目符号[current].classList.add('hovered');
}
函数previous(){
如果(项目符号[当前]){
项目符号[current].classList.remove('hovered');
}
电流=数学最大值(电流-1,-1);
}
.progressbar{
显示器:flex;
证明内容:之间的空间;
对齐项目:柔性端;
宽度:90%;
保证金:0自动;
边缘底部:40px;
}
.项目{
文本对齐:居中;
宽度:20%;
位置:相对位置;
}
.文本{
高度:50px;
利润率:10px 0px;
颜色:#3CB371;
}
.子弹{
边框:1px实心#3CB371;
高度:20px;
宽度:20px;
颜色:#3CB371;
显示:内联块;
过渡:背景色500ms;
线高:20px;
}
.子弹,悬停{
颜色:#fff;
背景色:#3CB371;
底部:10px;
}
.项目符号。完成时间:之后{
内容:'';
位置:绝对位置;
底部:80px;
高度:1px;
宽度:计算(133%-21px);
背景色:#3CB371;
左边距:7px;
}

1.
你好你好
2.
你好
3.
你好
4.
你好
以前的

接下来
访问数组中不存在的索引将为您提供
未定义的
,而不是
空的
-因此,测试
未定义的
,而不是
空的
,我将其更改为未定义但仍然不起作用。它不会在最后一步停止。如果(!bullets[current])
更新了我的代码段,您只需使用
。为什么它仍然不起作用?谢谢!你刚刚救了我一天!:I’祝你有美好的一天!是否可以从第一步转到第三步并突出显示跳过的步骤?