Здравствуйте, я делаю простой переключатель, который скрывает и показывает определенные блоки текста, когда я нажимаю на опцию навигации.Я делаю это, запустив цикл for и используя length.div, чтобы определить точный div, который я хочу показать или скрыть.Например, seowaukebar добавляет div к моему исходному коду, поэтому, если у кого-то он есть - меняется div.length, мне нужно найти лекарство от этого.Вот мой Javascript:
function forLoopToggle(id) {
var chosenTab = document.getElementById(id);
//loop between the 6th and after divs - the initial value is for Google chrome, and if someone has SEO quake because an extra div is added in that case
for (var toggle = 6; toggle < div.length; toggle++) {
//for clicking on experience
if (div[toggle] == chosenTab && chosenTab.id == 'experience' && chosenTab.style.display != 'block') {
div[toggle].style.display = 'block';
div[++toggle].style.display = 'block';
div[++toggle].style.display = 'block';
div[++toggle].style.display = 'block';
div[++toggle].style.display = 'block';
div[++toggle].style.display = 'block';
div[5].style.display = 'block';//employment div
div[6].style.display = 'none';
}
//for clicking on projects
if (div[toggle] == chosenTab && chosenTab.id == 'projects' && chosenTab.style.display != 'block') {
div[toggle].style.display = 'block';
div[++toggle].style.display = 'block';
div[++toggle].style.display = 'block';
div[++toggle].style.display = 'block';
div[++toggle].style.display = 'block';
div[5].style.display = 'none';
div[6].style.display = 'block';//keyword div
}
//for clicking on a div which display is currently none
else if (div[toggle] == chosenTab && chosenTab.style.display != 'block') {
div[toggle].style.display = 'block';
div[5].style.display = 'none';
div[6].style.display = 'none';
}
//all divs that have not been clicked on will not be shown
else if (div[toggle] != chosenTab) {
div[toggle].style.display = 'none';
}
else if (div[toggle] = chosenTab && chosenTab.style.display == 'block') {
div[toggle].style.display = 'none';
}
//allows you toggle on and off of the same div
else {
div[toggle].style.display = 'none';
div[5].style.display = 'none';
div[6].style.display = 'none';
}
}
}