HTML beginner |
|
Hallo,
Ik heb voor net hetzelfde probleem gestaan toen ik aan een opdracht voor school werkte. Ik heb dat toen op de volgende manier opgelost. Let wel, mijn script genereerd ook automatisch onclick events voor de juist "hoofmenu items" in jou geval. Hij doet dit door alle h1 tags binnen een bepaalde 'container div' op te zoeken en hieraan events toe te kennen. Het is grotendeels wat je zoekt denk ik. Je zal wel enkele aanpassingen moeten doen, daar had ik geen zin in maar als ik zie hoever je hierboven bent gekomen denk ik niet dat dit een probleem zal zijn.
function addOnclickAcc(){
var j = 0;
var h1Tags = document.getElementById(containerDiv).getElementsByTagName("h1");
var divTags = document.getElementById(containerDiv).getElementsByTagName("div");
arrayDivs = new Array();
for (var i=0; i<h1Tags.length; i++){
h1Tags[i].setAttribute("id", i);
arrayDivs[j] = divTags[i];
j++;
divTags[i].style.display = "none";
h1Tags[i].onclick = function () {showAcc(this, arrayDivs);}
}
}
//deze functie dient voor het weegeven van de verborgen div containers wanneer er op een h1 tag geklikt wordt
function showAcc(h1Tag, array){
div = array[parseInt(h1Tag.getAttribute("id"))];
if(div.style.display=="block"){
div.style.display = "none";
}
else{
for(var i=0;i<array.length;i++){
if(array[i].style.display =="block"){
array[i].style.display="none";
}
}
div.style.display ="block";
}
}
function addOnclickAcc(){ var j = 0; var h1Tags = document.getElementById(containerDiv).getElementsByTagName("h1"); var divTags = document.getElementById(containerDiv).getElementsByTagName("div"); arrayDivs = new Array(); for (var i=0; i<h1Tags.length; i++){ h1Tags[i].setAttribute("id", i); arrayDivs[j] = divTags[i]; j++; divTags[i].style.display = "none"; h1Tags[i].onclick = function () {showAcc(this, arrayDivs);} } } //deze functie dient voor het weegeven van de verborgen div containers wanneer er op een h1 tag geklikt wordt function showAcc(h1Tag, array){ div = array[parseInt(h1Tag.getAttribute("id"))]; if(div.style.display=="block"){ div.style.display = "none"; } else{ for(var i=0;i<array.length;i++){ if(array[i].style.display =="block"){ array[i].style.display="none"; } } div.style.display ="block"; } }
|