Archief - JS: menu in-en uitklappen

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

SK-jeetn

Legacy Member
Hallo,

Ik ben bezig om voor iemand te zorgen dat ze haar menu kan in en uitklappen. Dat lukt, maar het probleem is dat wanneer de site wordt geladen het menu al staat uitgeklapt en dit niet zo mag zijn.

Ik heb volgende code:

Body:
Code:
<body>
<div class="hoofd">
   <div class="logo">
        <img src="Afbeeldingen/logowielermuseum.jpg" width="420" height="112">   </div>
   <div class="taal">
      <a href="#">English</a> ~ <a href="#">Fran&ccedil;ais</a>   </div>
   
   
   
    <div class="sitemap">
      <a href="#">Contact</a> ~ <a href="#">Sitemap</a> ~ <a href="#">Zoek</a> ~ <a href="#">Faq</a> ~ <a href="#">Colofon</a>   </div>
  <div class="menu">
     <ul>
        <li>
         <a href="#" id="museum">Museum</a>
         <ul>
            <li>test1</li>
            <li>test2</li>
            <li>test3</li>
         </ul>
      </li>
      <li>
         <a href="#" id="collectie">Collectie</a>
         <ul>
            <li>test1</li>
            <li>test2</li>
            <li>test3</li>
         </ul>      
      </li>
      <li>
         Tentoonstellingen      </li>
      <li>
         Activiteiten      </li>
      <li>
         Documentatiecentrum      </li>
      <li>
         Museumshop      </li>
      <li>
         Vrienden      </li>
      <li>
         Events      </li>
      <li>
         Praktische info      </li>
      <li>
         Ere-galerij      </li>
      <li>
         Links      </li>
   </ul>
  </div>
   <!-- TemplateBeginEditable name="Aanpasbaar" -->
    <div class="inhoud"></div>
  <!-- TemplateEndEditable -->
  <div class="spatie">&nbsp;</div>
</div>
</body>

js.menu:
Code:
// JavaScript Document
function expandOrCollapse()
{
var ul = this.nextSibling;
while(ul.tagName != "UL") // Search for the next UL tag
{
ul = ul.nextSibling;
if ( ul == null )
return true;
}
if ( ul.style.display == "none"
|| ul.style.display == "" )
ul.style.display = "block";
else
ul.style.display = "none";
return false;
}



window.onload = ini;
function ini()
{
if(document.getElementById("museum").nextSibling.tagName == "ul")
{
   document.getElementById("museum").nextSibling.nextSibling.style.display = "none";
}
else
{
   document.getElementById("museum").nextSibling.style.display = "none";
}

document.getElementById("museum").onclick = expandOrCollapse();

}

Dit staat tussen de headtags als verwijzing naar mijn menu.js:

Code:
<script language="JavaScript" src="../menu.js">


Als ik de foutcode in Mozilla open krijg ik volgende melding:

document.getElementById("museum") has no properties


Hopelijk kunnen jullie me helpen :)

Hopelijk is mijn titel ook correct :)

L0|2|23

Legacy Member
Het is niet duidelijk wat er fout gaat, je onload event vuurt normalerwijze pas als de DOM beschikbaar is waardoor die exceptie heel vreemd is. Misschien heb je dat menu in een iframe steken, dan zou het wel eens kunnen dat je zo'n bericht krijgt (document is dan niet de document van de iframe). Ik zou als ik jou was even Firebug installeren voor FF en stap voor stap door de code lopen (zet een breakpoint op de ini function).
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan