Vraag & Antwoord

Webprogrammeren & scripting

Javascript-Probleem met IE, FF doet het wel

2 antwoorden
  • Daar ben ik dan weer eens met een vraag... Ik ben bezig met een nieuwe website en wil gebruik maken van een hoofdmenu met voor elke optie van het hoofdmenu een submenu. Deze submenu's hebben allemaal de eigenschap display:none en op het moment dat er een mouseover op een van de hoofdmenuoptie's plaatsvindt wordt een functie aangeroepen in javascript die het gewenste submenu zichtbaar maakt. Het probleem is nu dat Firefox het script perfect uitvoert :D ... maar helaas wil Internet Explorer weer eens niet meewerken. IE geeft namelijk de foutmelding: [i:c2175c1e6f]'kan de eigenschap display niet weergeven. Ongeldig Argument.'[/i:c2175c1e6f] Het vreemde is dat IE [i:c2175c1e6f]wel[/i:c2175c1e6f] de de submenu's op display:none kan zetten, dat heb ik namelijk uitgeprobeerd door de css op display:inherit te zetten. Op met moment van de mousover verdwijnen de 6 submenu's keurig, maar het ene gewenste submenu wordt niet zichtbaar gemaakt. Het is zo onvoorstelbaar frustrerend. In ieder geval, hier volgen de codes: [code:1:c2175c1e6f]<ul> <li onmouseover="setsubmenu('submenu1')" id="mainmenu1"><a>blaat</a></li> <li onmouseover="setsubmenu('submenu2')" id="mainmenu2"><a>blaat</a></li> <li onmouseover="setsubmenu('submenu3')" id="mainmenu3"><a>blaat</a></li> <li onmouseover="setsubmenu('submenu4')" id="mainmenu4"><a>blaat</a></li> <li onmouseover="setsubmenu('submenu5')" id="mainmenu5"><a>blaat</a></li> <li onmouseover="setsubmenu('submenu6')" id="mainmenu6"><a>blaat</a></li> </ul>[/code:1:c2175c1e6f] de css: [code:1:c2175c1e6f]#submenu1, #submenu2, #submenu3, #submenu4, #submenu5, #submenu6 { display:none; }[/code:1:c2175c1e6f] en tot slot het (zeer knullige, let daar aub niet op :oops: ) javascriptje [code:1:c2175c1e6f]function setsubmenu(submenu){ var ul=document.getElementById('submenu1'); ul.style.display="none"; var ul=document.getElementById('submenu2'); ul.style.display="none"; var ul=document.getElementById('submenu3'); ul.style.display="none"; var ul=document.getElementById('submenu4'); ul.style.display="none"; var ul=document.getElementById('submenu5'); ul.style.display="none"; var ul=document.getElementById('submenu6'); ul.style.display="none"; var ul=document.getElementById(submenu); ul.style.display="inherit"; } </script>[/code:1:c2175c1e6f] Zoals boven gezegd, het script is nogal amateuristisch, ik weet dat het bovenste gedeelte ook met behulp van een lus zou kunnen worden uitgevoerd, maar dat komt later wel. Zodra het probleem is opgelost zal ik het script verder optimaliseren. Alvast bedankt! Aljosja
  • Probeer bij de JS eens: ul.style.display="block"; of inline als dat de instelling is van de UL. Het argument is ongeldig, dus met jou inherit is hij het niet eens.. :P

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.