有'循环从元素中删除包含类名的类名,否则不执行任何操作
Have a 'for' loop remove class name from element if it contains that name, otherwise, do nothing
我有一个按钮列表,当单击一个按钮时,该按钮的类名将改变以将其移动到屏幕上,并引入一个'back'
按钮,其目的是在单击时将先前单击的按钮返回到其他按钮行,然后返回按钮再次隐藏。当用户单击'back'
按钮时,除了被单击的按钮不返回列表外,一切都工作。我假设这是for
循环的问题,但它在我的头脑中是有道理的。脚本如下:
//Variables
var back = document.getElementById('back');
var button = document.getElementsByTagName('li');
var i;
/*moves button that was clicked to center of page
and changes class of hidden back button to make it show*/
//works fine
function moveButton(e) {
'use strict';
var target = e.target;
target.classList.add('second_pos');
back.className = 'back';
}
//removes back button and returns active button to top
//Does remove back button but loop doesn't work on other button
function goBack() {
back.className = 'back_hidden';
for ( i = 0; i < button.length; i++) {
if (button[i].classList.contains('second_pos')) {
button[i].classList.remove('second_pos');
} else {
return;
}
}
}
//Event Listener for main buttons
for (i = 0; i < button.length; i++) {
button[i].addEventListener('click', moveButton, false);
}
// Event listener for back button
back.addEventListener('click', goBack, false);
这里是css
.demo_space {
display:table;
position:relative;
height:100vh;
width:90%;
margin:0 auto;
ul {
display:table-cell;
height:100vh;
width:100vw;
li {
display:inline-block;
}
}
}
.first_pos {
float:left;
font-size:2em;
padding:1em;
color:$green;
}
.second_pos {
position:absolute;
bottom:50%;
left:50%;
}
只删除else
部分,因为它打破了循环。
for (i = 0; i < button.length; i++) {
if (button[i].classList.contains('second_pos')) {
button[i].classList.remove('second_pos');
} // else {
// return;
// }
}
相关文章:
- Google 脚本:用于创建日历活动的脚本运行时不会出错,但不会执行任何操作
- 我必须点击两次才能激活任何按钮操作(离子/角度)
- 使用Javascript/jQuery以编程方式将当前锚点/哈希/片段附加到任何表单操作url
- jQuery/Javascript foreach If/Else |如果为空(不执行任何操作)Else(显示forea
- 使用JavaScript锁定页面上的任何操作
- 控制台.log触发,但随后的 Jquery 调用不执行任何操作
- AngularJS-检测到n分钟内没有任何操作并进入默认状态
- 当输入为变量时,.replace.不执行任何操作
- 为什么在ASP.NET Ajax更新面板中执行任何操作后javascript元素都停止工作
- 如果未输入任何内容,则使 JavaScript 按钮不执行任何操作
- 创建按钮不调用表单内的任何操作
- 选项卡中的a href链接没有执行任何操作
- 如何删除绑定到单击事件的任何jQuery操作
- 是否有任何方法可以在单击“加载前确认”对话框的“确定”按钮后执行某些操作
- 如何阻止jQuery Mobile使用window.location执行任何操作
- JS表单验证 - 提交按钮不执行任何操作
- JSPDF 下载按钮在单击时不执行任何操作.在安卓科尔多瓦
- 单击图像不执行任何操作
- 在绘制矩形之前更改 lineCap 和 lineJoin 不会执行任何操作
- 创建一个不执行任何操作的 JavaScript 对象