Bonjour,
grand débutant en javascript, j'essaye de bidouiller un menu déroulant pour mon site, qui doit marcher avec SPIP. J'ai fini par trouver qqch d'intéressant sur le net ici. Evidemment, ça ne marche, mais j'ai commencé à décortiquer et simplifier le code au maximum, en suivant les indications de cet auteurs. J'arrive à ça :
Il s'agit donc d'une liste de trois termes ("un", deux" et "trois") qui, lorsque la souris passe sur le premier terme ("un") devrait faire apparaître les termes de la sous-liste ("unos", "dos"). La partie CSS est juste là pour faire disparaître la sous-liste et permettre sa réapparition conditionnée au passage de la souris. La fonction doit permettre à la partie CSS de marcher sous IE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <HTML> <HEAD> <style> li ul{ display:none; } li:hover>ul{ display:block; } </style> <script language="text/javascript"> function hover(obj){ if(document.all){ UL = obj.getElementsByTagName('ul'); if(UL.length > 0){ sousMenu = UL[0].style; if(sousMenu .display == 'none' || sousMenu.display == ''){ sousMenu.display = 'block'; }else{ sousMenu.display = 'none'; } } } } </script> </HEAD> <BODY> <UL> <li onmouseover="hover(this);">un</li> <UL> <li>uno</li> <li>dos</li> </UL> <li>deux</li> <li>trois</li> </UL> </BODY> </HTML>
Et bien sûr, ça ne marche pas : lorsque je passe avec la souris sur le premier terme, ça me renvoie un message d'erreur : "Une erreur est survenue sur le script de cette page : Objet attendu" (ligne 29? au niveau du onmouseover). Quel objet??? J'ai eu beau tout remuer dans tous les sens, rien n'y fait.
Quelqu'un pourrait-il m'expliquer l'origine de ce bug?
Très cordialement, et en vous remerciant par avance pour votre aide,
EL
PS : je suis sous XP, je travaille avec IE6.
Partager