Script javascript fonctionne / IE mais pas / Mozilla

Script javascript fonctionne / IE mais pas / Mozilla - HTML/CSS - Programmation

Marsh Posté le 09-06-2009 à 12:36:33    

Bonjour à tous,
J'ai mis en place un script permetant de faire un menu déroulant.
le probelme c'est celui là sa marche sur IE mais pas sur Mozilla.
D'où vien le probleme à votre avis ??
Voici donc le script en entier :  
 
 
function expandCollapse(objElement) {
 
        var imgIcon = objElement.children[0];
        objElement = objElement.children[1];
       
    if (objElement.style.display == "none" ) {  
       objElement.style.display = "block" ; imgIcon.src = "images/fond/fleche_b.jpg" ;
 }  
     
 else {
        objElement.style.display = "none" ; imgIcon.src = "images/fond/fleche_g.jpg" ;  
 }
}
function cancelBubble() {  window.event.cancelBubble = true;}  
</SCRIPT>
 
MErci

Reply

Marsh Posté le 09-06-2009 à 12:36:33   

Reply

Marsh Posté le 09-06-2009 à 12:47:06    

Reply

Marsh Posté le 09-06-2009 à 14:20:31    


Merci bcp sa va vraiment m'aider !

Reply

Marsh Posté le 10-06-2009 à 11:24:15    


 
Au fait je n'arrive pas à le faire marcher sous Firefox. sachant que je suis débutant en JavaScript j'avoue que je galere !
 
Voici donc le code JS:
 
function expandCollapse(objElement) {
 
        var imgIcon = objElement.children[0];
        objElement = objElement.children[1];
       
    if (objElement.style.display == "none" ) {  
 
       objElement.style.display = "block" ;  
    imgIcon.src = "images/fond/fleche_b.jpg" ;
 }  
     
 else {
        objElement.style.display = "none" ;  
  imgIcon.src = "images/fond/fleche_g.jpg" ;  
 }
}
 
 
Voici le code HTML :  
 
<DIV onclick="expandCollapse(this); ">
 
 
<IMG name='I1' SRC="images/fond/fleche_g.jpg" height = '30' width = '30' /> Le langage Javascript
   
  <DIV STYLE="display: none" >    
   
    <A onclick="stopPropagation() ;">Page d'accueil</A><BR>
    <A onclick="stopPropagation() ;">Etude du langage</A><BR>
    <A onclick="stopPropagation());">Les objets clients</A><BR>
   
  </DIV>
 
</DIV>
 
 
 
 
 
Merci


Message édité par unes92 le 10-06-2009 à 11:25:52
Reply

Marsh Posté le 10-06-2009 à 15:10:24    

Si vous avez des idées svp je suis prenneur

Reply

Marsh Posté le 10-06-2009 à 16:39:08    

Le coup du children[x] est plutôt casse gueule. Normallement s'il y a le moindre texte entre deux balises (incluant les espaces), ça rajoute un noeud #TEXT dans l'arbre HTML. Un truc du genre sera un peu moins casse gueule:

Code :
  1. function expandCollapse(objElement) {
  2.    var img = objElement.getElementsByTagName("img" )[0]
  3.    var div = objElement.getElementsByTagName("div" )[0]
  4.  
  5.    if (div.style.display == "none" ) {
  6.        div.style.display = "block"
  7.        img.src = "images/fond/fleche_b.jpg"
  8.    } else {
  9.        div.style.display = "none"
  10.        img.src = "images/fond/fleche_g.jpg"
  11.    }
  12. }

Message cité 1 fois
Message édité par tpierron le 10-06-2009 à 16:39:36
Reply

Marsh Posté le 10-06-2009 à 16:49:30    

tpierron a écrit :

Le coup du children[x] est plutôt casse gueule. Normallement s'il y a le moindre texte entre deux balises (incluant les espaces), ça rajoute un noeud #TEXT dans l'arbre HTML. Un truc du genre sera un peu moins casse gueule:

Code :
  1. function expandCollapse(objElement) {
  2.    var img = objElement.getElementsByTagName("img" )[0]
  3.    var div = objElement.getElementsByTagName("div" )[0]
  4.  
  5.    if (div.style.display == "none" ) {
  6.        div.style.display = "block"
  7.        img.src = "images/fond/fleche_b.jpg"
  8.    } else {
  9.        div.style.display = "none"
  10.        img.src = "images/fond/fleche_g.jpg"
  11.    }
  12. }



 
Merci pour ta réponse.
 
J'ai essaiyé ton code mais ça ne résout en aucun mon ptit souci!
as tu une autre idée? je galere depuis ce matin !!lol

Reply

Marsh Posté le 10-06-2009 à 16:58:22    

Je retire ce que j'ai dis!  
Je te remercie BCP <b>tpierron</b>

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed