Ik wil een dropdown menu maken waarbij de submenu's steeds een andere achtergrondkleur hebben. Het simpelste is dus om een CSS-drop down te maken met verschillende styles gedefinieerd. Dit lukte wel, maar IE werkt niet mee omdat deze Javascript nodig heeft.
Nu heb ik het volgende gemaakt:
http://www.gerkedegroot.nl/werk/rbz/index4.html
In Safari/Firefox heeft ie keurig de 3 verschillende styles toegepast, maar in IE kiest hij alleen de laatste. Dit komt waarschijnlijk door de Javascript.
De CSS ziet er zo uit ( deze code staat steeds dubbel, ik heb ook nog een regel met .li1:hover ul {etc etc} voor Safari/FF:
In de HTML verwijs ik naar deze styles:
Waarschijnlijk gooit nu dus de Javascript roet in het eten. Deze ziet er zo uit:
Ik begrijp JS niet, maar zover ik weet zoekt hij naar de node LI en daar verandert hij in de 'over' class iets aan. IE ondersteund standaard het :hover component niet, vandaar dat ik deze nodig heb.
Wie ziet wat hier fout gaat?
Nu heb ik het volgende gemaakt:
http://www.gerkedegroot.nl/werk/rbz/index4.html
In Safari/Firefox heeft ie keurig de 3 verschillende styles toegepast, maar in IE kiest hij alleen de laatste. Dit komt waarschijnlijk door de Javascript.
De CSS ziet er zo uit ( deze code staat steeds dubbel, ik heb ook nog een regel met .li1:hover ul {etc etc} voor Safari/FF:
code:
1
2
3
4
5
6
| .li1.over ul{ display: block; background-color:#FF6600; }
.li2.over ul{ display: block; background-color:#FFFF33; }
.li3.over ul{ display: block; background-color:#006699; }
.li1.over ul{ display: block; background-color:#FF6600; } |
In de HTML verwijs ik naar deze styles:
code:
1
2
3
4
5
6
7
8
9
10
| <li class="li1">RBZ Human Focus
<ul>
<li><a href="">Menuoptie 1</a></li>
<li><a href="">Menuoptie 2</a></li>
<li><a href="">Menuoptie 3</a></li>
<li><a href="">Menuoptie 4</a></li>
<li><a href="">Menuoptie 5</a></li>
</ul>
</li> |
Waarschijnlijk gooit nu dus de Javascript roet in het eten. Deze ziet er zo uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <script type="text/javascript"><!--//--><![CDATA[//><!--
startList = function() {
if (document.all&&document.getElementById) {
navRoot = document.getElementById("nav");
for (i=0; i<navRoot.childNodes.length; i++) {
node = navRoot.childNodes[i];
if (node.nodeName=="LI") {
node.onmouseover=function() {
this.className+=" over";
}
node.onmouseout=function() {
this.className=this.className.replace(" over", "");
}
}
}
}
}
window.onload=startList;
//--><!]]></script> |
Ik begrijp JS niet, maar zover ik weet zoekt hij naar de node LI en daar verandert hij in de 'over' class iets aan. IE ondersteund standaard het :hover component niet, vandaar dat ik deze nodig heb.
Wie ziet wat hier fout gaat?