I made this Javascript to hide, show and change some DIVs but I believe it's not really good code. Can you help me to make it better?
function colorM(n) {
switch(n){
case 1:
document.getElementById("slideM1").style.backgroundColor="#009CFF";
document.getElementById("slideM1").className="show";
document.getElementById("slideM2").style.backgroundColor="silver";
document.getElementById("slideM3").style.backgroundColor="silver";
document.getElementById("slideM4").style.backgroundColor="silver";
document.getElementById("slideM5").style.backgroundColor="silver";
document.getElementById("slideM2").className="";
document.getElementById("slideM3").className="";
document.getElementById("slideM4").className="";
document.getElementById("slideM5").className="";
document.getElementById("slideC1").style.display="block";
document.getElementById("slideC2").style.display="none";
document.getElementById("slideC3").style.display="none";
document.getElementById("slideC4").style.display="none";
document.getElementById("slideC5").style.display="none";
break;
case 2:
document.getElementById("slideM2").style.backgroundColor="#009CFF";
document.getElementById("slideM2").className="show";
document.getElementById("slideM1").style.backgroundColor="silver";
document.getElementById("slideM3").style.backgroundColor="silver";
document.getElementById("slideM4").style.backgroundColor="silver";
document.getElementById("slideM5").style.backgroundColor="silver";
document.getElementById("slideM1").className="";
document.getElementById("slideM3").className="";
document.getElementById("slideM4").className="";
document.getElementById("slideM5").className="";
document.getElementById("slideC1").style.display="none";
document.getElementById("slideC2").style.display="block";
document.getElementById("slideC3").style.display="none";
document.getElementById("slideC4").style.display="none";
document.getElementById("slideC5").style.display="none";
break;
case 3:
document.getElementById("slideM3").style.backgroundColor="#009CFF";
document.getElementById("slideM3").className="show";
document.getElementById("slideM1").style.backgroundColor="silver";
document.getElementById("slideM2").style.backgroundColor="silver";
document.getElementById("slideM4").style.backgroundColor="silver";
document.getElementById("slideM5").style.backgroundColor="silver";
document.getElementById("slideM1").className="";
document.getElementById("slideM2").className="";
document.getElementById("slideM4").className="";
document.getElementById("slideM5").className="";
document.getElementById("slideC1").style.display="none";
document.getElementById("slideC2").style.display="none";
document.getElementById("slideC3").style.display="block";
document.getElementById("slideC4").style.display="none";
document.getElementById("slideC5").style.display="none";
break;
case 4:
document.getElementById("slideM4").style.backgroundColor="#009CFF";
document.getElementById("slideM4").className="show";
document.getElementById("slideM1").style.backgroundColor="silver";
document.getElementById("slideM2").style.backgroundColor="silver";
document.getElementById("slideM3").style.backgroundColor="silver";
document.getElementById("slideM5").style.backgroundColor="silver";
document.getElementById("slideM1").className="";
document.getElementById("slideM2").className="";
document.getElementById("slideM3").className="";
document.getElementById("slideM5").className="";
document.getElementById("slideC1").style.display="none";
document.getElementById("slideC2").style.display="none";
document.getElementById("slideC3").style.display="none";
document.getElementById("slideC4").style.display="block";
document.getElementById("slideC5").style.display="none";
break;
case 5:
document.getElementById("slideM5").style.backgroundColor="#009CFF";
document.getElementById("slideM5").className="show";
document.getElementById("slideM1").style.backgroundColor="silver";
document.getElementById("slideM2").style.backgroundColor="silver";
document.getElementById("slideM3").style.backgroundColor="silver";
document.getElementById("slideM4").style.backgroundColor="silver";
document.getElementById("slideM1").className="";
document.getElementById("slideM2").className="";
document.getElementById("slideM3").className="";
document.getElementById("slideM4").className="";
document.getElementById("slideC1").style.display="none";
document.getElementById("slideC2").style.display="none";
document.getElementById("slideC3").style.display="none";
document.getElementById("slideC4").style.display="none";
document.getElementById("slideC5").style.display="block";
break;
default:
document.getElementById("slideM1").style.backgroundColor="#009CFF";
document.getElementById("slideM1").className="show";
document.getElementById("slideM2").style.backgroundColor="silver";
document.getElementById("slideM3").style.backgroundColor="silver";
document.getElementById("slideM4").style.backgroundColor="silver";
document.getElementById("slideM5").style.backgroundColor="silver";
document.getElementById("slideM2").className="";
document.getElementById("slideM3").className="";
document.getElementById("slideM4").className="";
document.getElementById("slideM5").className="";
document.getElementById("slideC1").style.display="block";
document.getElementById("slideC2").style.display="none";
document.getElementById("slideC3").style.display="none";
document.getElementById("slideC4").style.display="none";
document.getElementById("slideC5").style.display="none";
break;
}
}
className
of every div that you want to hide, assign a class name that already has thebackground-color: 'silver'
anddisplay: none
. That alone saves you a lot of lines. \$\endgroup\$