Pbs javascript avec Mozilla.

Le
Vincent M.
Salut,

J'ai fait une page test et elle passe nickel chrome avec IE 5.x et plus
mais pas du tout avec moz, elle est ici:
http://cult.free.fr/test_menu/test_menu_ytse.html
En fait, lorsque la souris est dans le menu du milieu qui apparait
lorsque la souris passe au niveau vertical de Catégores cela ne change
pas le background image.

Le code a incriminé est:

function bgmenu_on(up, id_on) {
var i = 0 ;
while(1) {
elements = document.getElementsByName('td_' + up + '_' + i) ;
if(elements.length != 0) {
if(i != id_on) {
elements[1].style.backgroundImage='url(menu_off.png)' ;
}
} else {
break;
}
i++ ;
}
elements = document.getElementsByName('td_' + up + '_' + id_on) ;
elements.item(1).style.backgroundImage='url(menu_on.png)' ;
}

Quand on rentre dans la dans le while on en sort direct elements.length
vaut zéro et la ligne:
elements.item(1).style.backgroundImage='url(menu_on.png)' ;
renvoie une erreur :(

Quelqu'un a une idée ?

Merci,
Vincent.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Max Reymond
Le #11091201
Vincent M. wrote:



Quelqu'un a une idée ?




la console javascript indique:
Error: elements.item(1) has no properties
Source File: http://cult.free.fr/test_menu/test_menu_ytse.html
Line: 79


--
Jean-Max Reymond
dernière éruption de l'Etna: http://jmreymond.free.fr/Etna2002
Jean-Max Reymond
Le #11091191
Vincent M. wrote:



Quelqu'un a une idée ?

Merci,
Vincent.




pourquoi faire du javascript quand utiliser les css est si simple et si
élégant?

--
Jean-Max Reymond
dernière éruption de l'Etna: http://jmreymond.free.fr/Etna2002
Vincent M.
Le #11091131
Jean-Max Reymond wrote:
Vincent M. wrote:



Quelqu'un a une idée ?

Merci,
Vincent.




pourquoi faire du javascript quand utiliser les css est si simple et si
élégant?




Si tu savais...
Mathieu
Le #11091121
Vincent M. wrote:
Quand on rentre dans la dans le while on en sort direct elements.length
vaut zéro et la ligne:
elements.item(1).style.backgroundImage='url(menu_on.png)' ;
renvoie une erreur :(



IE et Opera considerent (a tord je crois, a verifier) que
getElementsByName() doit prendre en compte l'attribut id. Mozilla
n'utilise que l'attribut name. Accessoirement, ton truc est de toutes
facons du bricolage (mix d'attributs genre background avec du css) et 1
pourrait etre fait avec des fonctions du DOM faites pour manipuler les
tables, et 2 avec des CSS...

--
mat | www.openweb.eu.org | www.nekeme.net | arkhart.nekeme.net
They can't stop us... we're on a mission from God!
-- The Blues Brothers
Vincent M.
Le #11091111
Mathieu wrote:

Vincent M. wrote:

Quand on rentre dans la dans le while on en sort direct
elements.length vaut zéro et la ligne:
elements.item(1).style.backgroundImage='url(menu_on.png)' ;
renvoie une erreur :(




IE et Opera considerent (a tord je crois, a verifier) que
getElementsByName() doit prendre en compte l'attribut id. Mozilla
n'utilise que l'attribut name. Accessoirement, ton truc est de toutes
facons du bricolage (mix d'attributs genre background avec du css) et 1
pourrait etre fait avec des fonctions du DOM faites pour manipuler les
tables, et 2 avec des CSS...



Parfait,

J'ai mis ca dans le code HTML:
<!-- LA DIV DU MENU A AFFICHER -->
<div id="menui_-1">
<table id="table_-1" align="right" border="0"
style="border-color:black" cellpadding="4" cellspacing="2" width="150">
<tr>
<td nowrap id="td_-1_0" name="td_-1_0" background="menu_off.png"
onMouseOver="if(document.all) this.style.cursor='hand' ; else
this.style.cursor='pointer' ; bgmenu_on(-1, 0) ; " >Vacances</td></tr>
....etc....
</table>
</div>

Sinon, c pas du bricolage, c à l'origine un algo récursif PHP qui génére
la page et le javascript en fonction d'un fichier de config où se trouve
les infos sur les catégories - sous-catégories que l'on peut managées
via la partie Admin et ce à partir d'un simple navigateur.
Y a une notion de profondeur et quand ce sera terminé y aura un effet
d'affichage progressif des menus transparents (Attention ca rigole plus
là) ;)

Merci encore,
Vincent.
laurent prevosto
Le #11091051
Mathieu wrote:
Vincent M. wrote:

Quand on rentre dans la dans le while on en sort direct
elements.length vaut zéro et la ligne:
elements.item(1).style.backgroundImage='url(menu_on.png)' ;
renvoie une erreur :(




IE et Opera considerent (a tord je crois, a verifier) que
getElementsByName() doit prendre en compte l'attribut id.



Et vice-versa (pour IE en tout cas).

(...)

lp
Publicité
Poster une réponse
Anonyme