我讨厌在编程世界里是一个新手...我要出去遛狗,同时寻求帮助。
我有五张要用作按钮“上”状态的图片,以及五张用作它们的“下”状态。我只想做到当点击一个按钮时,所有图片都改回其“上”状态,而我选择的那个则变为“下”状态。很简单对吧。但是当我尝试访问图像名称并将其与下方的图像交换时,我就迷失了。我已经做到了这一点,但我使用了两个大的switch语句放在if语句里。太长了,我知道我可以做得更好。
有人能告诉我正确的方向吗?你甚至可以给我提示,让我自己解决问题,让我变得更强壮:)
谢谢
var pathStr = "images/lessons/lessonBtns/";
var btnArray = ["kBtn", "firstBtn", "secondBtn", "thirdBtn", "fourthBtn"];
function toggleGradeBtns(gradeBtn) {
var gradeBtnArray = document.getElementsByClassName("grade-btn");
console.log(gradeBtnArray);
for (var i = 0; i < gradeBtnArray.length; i++) {
gradeBtnArray[i].children[0].src = "images/lessons/lessonBtns/" + btnArray[i] + ".png";
gradeBtnArray[i].dataset.checked = 0;
}
if (gradeBtn.dataset.checked == 0) {
gradeBtn.dataset.checked = 1;
console.log(gradeBtn.children[0].src);
switch (gradeBtn.children[0].src) {
case pathStr + "kBtn.png":
gradeBtn.children[0].src = pathStr + "kBtnDown.png";
break;
case pathStr + "firstBtn.png":
gradeBtn.children[0].src = pathStr + "firstBtnDown.png";
break;
case pathStr + "secondBtn.png":
gradeBtn.children[0].src = pathStr + "secondBtnDown.png";
break;
case pathStr + "thirdBtn.png":
gradeBtn.children[0].src = pathStr + "thirdBtnDown.png";
break;
case pathStr + "fourthBtn.png":
gradeBtn.children[0].src = pathStr + "fourthBtnDown.png";
break;
}
} else {
gradeBtn.dataset.checked = 0;
switch (gradeBtn.children[0].src) {
case pathStr + "kBtn.png":
gradeBtn.children[0].src = pathStr + "kBtn.png";
break;
case pathStr + "firstBtn.png":
gradeBtn.children[0].src = pathStr + "firstBtn.png";
break;
case pathStr + "secondBtn.png":
gradeBtn.children[0].src = pathStr + "secondBtn.png";
break;
case pathStr + "thirdBtn.png":
gradeBtn.children[0].src = pathStr + "thirdBtn.png";
break;
case pathStr + "fourthBtn.png":
gradeBtn.children[0].src = pathStr + "fourthBtn.png";
break;
}
}
}