I have a small problem with a simple loop in javascript and can't figure out the problem ! what am i missing ?
window.onload = function(){
var linksToSlides = ["fischer","neotex","felo","safety","stella","boltsNuts"];
for (var i=0;i < 6;i++){
document.getElementsByClassName("headerSlideTo")[i].addEventListener("click", function(){ goTo(linksToSlides[i]); });
document.getElementsByClassName("footerSlideTo")[i].addEventListener("click", function(){ goTo(linksToSlides[i]); });
document.getElementsByClassName("menuLinks")[i].addEventListener("click", function(){ closeMenu();goTo(linksToSlides[i]); });
}
};
it simply doesn't work... but the following code works without a loop.
window.onload = function(){
var linksToSlides = ["fischer","neotex","felo","safety","stella","boltsNuts"];
//header links to slides
document.getElementsByClassName("headerSlideTo")[0].addEventListener("click", function(){goTo(linksToSlides[0]);});
document.getElementsByClassName("headerSlideTo")[1].addEventListener("click", function(){goTo(linksToSlides[1]);});
document.getElementsByClassName("headerSlideTo")[2].addEventListener("click", function(){goTo(linksToSlides[2]);});
document.getElementsByClassName("headerSlideTo")[3].addEventListener("click", function(){goTo(linksToSlides[3]);});
document.getElementsByClassName("headerSlideTo")[4].addEventListener("click", function(){goTo(linksToSlides[4]);});
document.getElementsByClassName("headerSlideTo")[5].addEventListener("click", function(){goTo(linksToSlides[5]);});
//footer links to slides
document.getElementsByClassName("footerSlideTo")[0].addEventListener("click", function(){goTo(linksToSlides[0]);});
document.getElementsByClassName("footerSlideTo")[1].addEventListener("click", function(){goTo(linksToSlides[1]);});
document.getElementsByClassName("footerSlideTo")[2].addEventListener("click", function(){goTo(linksToSlides[2]);});
document.getElementsByClassName("footerSlideTo")[3].addEventListener("click", function(){goTo(linksToSlides[3]);});
document.getElementsByClassName("footerSlideTo")[4].addEventListener("click", function(){goTo(linksToSlides[4]);});
document.getElementsByClassName("footerSlideTo")[5].addEventListener("click", function(){goTo(linksToSlides[5]);});
//menu links to slides
document.getElementsByClassName("menuLinks")[0].addEventListener("click", function(){closeMenu();goTo(linksToSlides[0]);});
document.getElementsByClassName("menuLinks")[1].addEventListener("click", function(){closeMenu();goTo(linksToSlides[1]);});
document.getElementsByClassName("menuLinks")[2].addEventListener("click", function(){closeMenu();goTo(linksToSlides[2]);});
document.getElementsByClassName("menuLinks")[3].addEventListener("click", function(){closeMenu();goTo(linksToSlides[3]);});
document.getElementsByClassName("menuLinks")[4].addEventListener("click", function(){closeMenu();goTo(linksToSlides[4]);});
document.getElementsByClassName("menuLinks")[5].addEventListener("click", function(){closeMenu();goTo(linksToSlides[5]);});
};
i've also ran tests to see that [i]
values are coming out right and that linksToSlides[i]
are giving the good values and all seems fine.
all other loops in other functions work fine. Just this loop doesn't work !