Voor een site ben ik bezig met het maken van een uit- en inklapbaar navigatiemenu in javascript. Dit lukt op alle fronten aardig, alleen op het gebied van crossbrowser compatibility gaat het goed mis.
Allereerst even het voorbeeld, dat is hier te vinden.
Als je de site met Internet Explorer bezoekt is er niets aan de hand, het menu doet wat het moet doen. Met Opera gaat het echter mis: het menu begint in een uitgeklapte positie en wanneer je het inklapt gaat het goed mis met de blauwe achtergrond van de cel waarin het staat. In Mozilla werkt het menu helemaal niet: het is uitgeklapt en kan niet ingeklapt worden.
Hier het javascript:
Zoals je kunt zien heb ik 2 functies aangemaakt, één voor de hoofdcategorieën en één voor de subcategorieën. Deze functies worden als volgt aangeroepen:
Wie o Wie kan mij vertellen waarom dit niet werkt in Opera en Mozilla? En hoe kan ik het wél laten werken?!
Sorry voor de layout verkloting trouwens...
Allereerst even het voorbeeld, dat is hier te vinden.
Als je de site met Internet Explorer bezoekt is er niets aan de hand, het menu doet wat het moet doen. Met Opera gaat het echter mis: het menu begint in een uitgeklapte positie en wanneer je het inklapt gaat het goed mis met de blauwe achtergrond van de cel waarin het staat. In Mozilla werkt het menu helemaal niet: het is uitgeklapt en kan niet ingeklapt worden.
Hier het javascript:
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
41
42
43
44
45
46
47
48
49
| <script language="javascript">
<!--
var Open = ""
var Closed = ""
function preload()
{
if(document.images)
{
OpenHoofd = new Image(12,12)
ClosedHoofd = new Image(12,12)
OpenSub = new Image(12,12)
ClosedSub = new Image(12,12)
OpenHoofd.src = "images/pijltje_hoofd_1.gif"
ClosedHoofd.src = "images/pijltje_hoofd_0.gif"
OpenSub.src = "images/pijltje_sub_1.gif"
ClosedSub.src = "images/pijltje_sub_0.gif"
}
}
function uitklaphoofd(what,what2)
{
if (what.style.display=='none')
{
what.style.display='';
what2.src=OpenHoofd.src
}
else
{
what.style.display='none'
what2.src=ClosedHoofd.src
}
}
function uitklapsub(what,what2)
{
if (what.style.display=='none')
{
what.style.display='';
what2.src=OpenSub.src
}
else
{
what.style.display='none'
what2.src=ClosedSub.src
}
}
-->
</script> |
Zoals je kunt zien heb ik 2 functies aangemaakt, één voor de hoofdcategorieën en één voor de subcategorieën. Deze functies worden als volgt aangeroepen:
code:
1
2
3
4
5
6
7
8
9
10
11
| <div class="productmenu_hoofdcat" id="menu1" style="cursor: hand"> <div onClick="uitklaphoofd(menu1outline,menu1sign)">[img]"images/pijltje_hoofd_0.gif"[/img]Hoofdcategorie </div> <div id="menu1outline" style="display:'none'" class="productmenu_subcat"> <div id="menu2" onClick="uitklapsub(menu2outline,menu2sign)" style="cursor: hand"> [img]"images/pijltje_sub_0.gif"[/img]Subcategorie </div> <div id="menu2outline" style="display:'none'"> <div class="productmenu_subsubcat"><a href="#" target="content">subsub 1</a></div> <div class="productmenu_subsubcat"><a href="#" target="content">subsub 2</a></div> </div> |
Wie o Wie kan mij vertellen waarom dit niet werkt in Opera en Mozilla? En hoe kan ik het wél laten werken?!
Sorry voor de layout verkloting trouwens...
[ Voor 14% gewijzigd door posttoast op 04-06-2003 16:32 ]