Ik heb voor mijn site een tab-menu gemaakt waarbij bij elke klik gekeken wordt welk gedeelte weergegeven moet worden. Hiervoor heb ik het volgende gemaakt:
Mijn HTML ziet er grofweg zo uit
Dit werkt allemaal prima in Firefox, maar als ik dit in IE (de nieuwste versie) probeer werkt het menu niet. Als ik in Firefox naar mijn Javascript error check kijk, zie ik dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| function _handleClick(to){ item = to.replace('menu-',''), startNode = document.getElementsByTagName('ul').item(0); document.images['logo'].src = "/Lay/Logo-"+logoSwitch[item]+".jpg"; document.getElementsByTagName('h1')[0].style.color = "#"+styleSwitch[item]; for(j=0; j<startNode.childNodes.length; j++){ var node = startNode.childNodes.item(j); if(node.nodeName == "LI"){ el = node.getAttribute("id").replace("menu-",""); document.getElementById(el).style.display = "none"; document.getElementById(item).style.display = "block"; } } } |
Mijn HTML ziet er grofweg zo uit
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| <div id="pageContainer"> <h1>Personal Portfolio</h1> <div id="menu"> <p><img src="/Lay/Logo-Green.jpg" id="logo" alt="Logo" title="Logo"></p> <ul id="nav"> <li id="menu-info" class="active"><a href="#" onclick="_handleClick(this.parentNode.getAttribute('id'))">Info</a></li> <li id="menu-id"><a href="#" onclick="_handleClick(this.parentNode.getAttribute('id'))">ID</a></li> <li id="menu-print"><a href="#" onclick="_handleClick(this.parentNode.getAttribute('id'))">Print</a></li> <li id="menu-web"><a href="#" onclick="_handleClick(this.parentNode.getAttribute('id'))">Web</a></li> <li id="menu-contact"><a href="#" onclick="_handleClick(this.parentNode.getAttribute('id'))">Contact</a></li> </ul> </div> <div class="container" id="info"> <h2>Informatie</h2> <p>Text</p> </div> <div class="container" id="id"> <h2>ID</h2> <p>Text> </div> <div class="container" id="print"> <h2>Print</h2> <p>Text</p> </div> <div class="container" id="web"> <h2>Web</h2> <p>Text</p> </div> <div class="container" id="contact"> <h2>Contact</h2> <p>Text</p> </div> </div> |
Dit werkt allemaal prima in Firefox, maar als ik dit in IE (de nieuwste versie) probeer werkt het menu niet. Als ik in Firefox naar mijn Javascript error check kijk, zie ik dit:
Ik heb echter geen idee wat hier nu mis gaat. Is er iemand die het wel ziet?Error: document.getElementById(el) is null
Source File: /JS/init.js
Line: 25
[ Voor 4% gewijzigd door kleautviool op 24-04-2015 17:10 ]