【发布时间】:2020-10-24 03:02:35
【问题描述】:
此代码使得当用户单击其中一种颜色 (color1-4) 时,它会设置所有鞋子 none 的 CSS display 属性,但单击的颜色除外,其 display 已设置到block。代码看起来很脏,雇主不会批准。
我将如何制作一个 for 循环,或者以其他方式使代码更简洁?
color2.addEventListener('click', () => {
shoe.style.display = "none";
shoe3.style.display = "none";
shoe5.style.display = "none";
shoe2.style.display = "block";
console.log('u removed it and added another');
});
color3.addEventListener('click', () => {
shoe.style.display = "none";
shoe3.style.display = "none";
shoe5.style.display = "none";
shoe2.style.display = "none";
shoe3.style.display = "block";
console.log('u removed it and added another');
});
color4.addEventListener('click', () => {
shoe.style.display = "none";
shoe3.style.display = "none";
shoe5.style.display = "none";
shoe3.style.display = "none";
shoe5.style.display = "block";
console.log('u removed it and added another');
});
color1.addEventListener('click', () => {
shoe.style.display = "block";
shoe2.style.display = "none";
shoe3.style.display = "none";
shoe4.style.display = "none";
shoe5.style.display = "none";
console.log('u removed it and added another');
});
color2.addEventListener('click', () => {
shoe.style.display = "none";
shoe3.style.display = "none";
shoe5.style.display = "none";
shoe2.style.display = "block";
console.log('u removed it and added another');
});
【问题讨论】:
-
您需要使用数组。查看w3schools.com/js/js_arrays.asp
-
color1, color2 ...是html元素吗?
标签: javascript for-loop dom