Probleme de JS sous Mozilla et Firefox

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
pagetol
Arias
Messages : 2
Inscription : 10 sept. 2005, 13:13

Probleme de JS sous Mozilla et Firefox

Message par pagetol »

Bonjour,

J'ai développé un petit site avec du java script :

http://www.xtmformation.com/

(en cours de développement). Dans les page du site j'ai développé un petit prog en JS afin que lorsqu'on clique sur les entetes de chapitre un texte apparaisse.

Cela fonctionne très bien sous IE mais pas sous Mozilla et firefox. J'avoue qu'au départ je ne me formalisait pas trop mais là ca m'énerve car je ne vois pas d ou vient le probleme.

Si une ame charitable peut me venir en secour je la remercie, voici le code appelé par la page. En fait sous Mozilla le texte s'affiche mais il se superpose au texte du dessous alors qu'il devrait descendre ce texte.

Code : Tout sélectionner

// JavaScript Document
<!--
            var intCount = 0;

            //-Fonction d'ajout d'entrées principales-------------------------

			function DynamicMenu_addParent(img,titre,classe,strName) {
                var strID = 'ID' + intCount++; 

                var strTemp = '<DIV CLASS="aieul">'+ img+titre +'<DIV ID="' + strID + '" CLASS="' +classe;
                strTemp += '" onClick="expandCollapse(this);">';
                strTemp += '<IMG SRC="Image/petitchapeau.png" Height="10">';
                strTemp += '&nbsp;' + strName ;
                strTemp += '<DIV STYLE="display: none" CLASS="child"></DIV>';
                strTemp += '</DIV>';
				strTemp += '</DIV>';
                this.div.innerHTML += strTemp;
                this.currentChild = document.getElementById(strID);
				
            }

            //-Fonction d'ajout de liens dans le menu-------------------------
            function DynamicMenu_addChild(strName,strURL) {
                var strTemp = '<a onClick="cancelBubble(arguments[0]);">' 
                            + strName + '</a></br>';

                if (document.all) {
                    this.currentChild.children[1].innerHTML += strTemp;
                } else {
                    this.currentChild.childNodes[2].innerHTML += strTemp;
                }
            }

            //-inhibe la cascade d'évènements au DIV conteneur----------------
            function cancelBubble(netEvent) {
                if (document.all) {
                    window.event.cancelBubble = true;
                } else {
                    netEvent.cancelBubble = true;
                }
            }

            //-Contracte ou expanse le menu-----------------------------------
            function expandCollapse(objElement) {
				
				var NumDiv = 1;
				var nom=document.getElementById( 'ID' + NumDiv);
				
					
			
                if (document.all) {
                    var imgIcon = objElement.children[0];
                    objElement = objElement.children[1];
                } else {
                    var imgIcon = objElement.childNodes[0];
                    objElement = objElement.childNodes[2];
                }    

                if (objElement.style.display == "none") { 
				if ( document.getElementById ) // Pour les navigateurs récents
				{
					while ( nom )
						{
						
                   nom = nom.childNodes[2];
               				 
							nom.style.display = "none" ;
					
				
							NumDiv++;
							var nom=document.getElementById( 'ID' + NumDiv);
						}
				} 
                    objElement.style.display = "block" ;
                    imgIcon.src = "Image/petitchapeau.png" ;
                } else {
                    objElement.style.display = "none" ;
                    imgIcon.src = "Image/petitchapeau.png" ;
                }
				
            }

            //-Fonction de création de menu dynamique------------------------- 
            function DynamicMenu() {
                var id = "Menu" + intCount++;
                document.write('<DIV Id="' + id + '"></DIV>');

                this.div = document.getElementById(id);
                this.currentChild = null;

                this.addParent = DynamicMenu_addParent;
                this.addChild = DynamicMenu_addChild;
            }
        // -->
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Je ne suis pas sur d'avoir compris ce qui ne marche pas... tu parle de la frame de gauche ? Ça me semble bien passer chez moi... :roll:

Sinon, pour info, Firefox et Mozilla sont livrés avec une console javascript. (outils > Console javascript ou outils > développement web > console javascript). Si tu passe la pref javascript.options.strict à true tu as des avertissements supplémentaires. (ça se change en entrant about:config dans la barre d'adresses). :wink:
pagetol
Arias
Messages : 2
Inscription : 10 sept. 2005, 13:13

Message par pagetol »

Dans la frame de gauche c'est du css et un petit bout de js il n'y a pas de problème. Mais si tu cliques par exemple sur L'offre XTM puis sur Une pédagogie innovante tu as des phrase avec des puces bleues et orange. Si tu cliques sur cette phrase c'est la que survient le probleme.

Merci de ton aide. En mettant tous les Js a true cela ne fonctionne pas mieux.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Ah ben il fallait le trouver :lol:

C'est la page http://www.xtmformation.com/pedagogieinnovante.html

Tu devrais utiliser le même code que pour ton menu. Parce que sans javascript il n'y a rien, donc le code du menu fonctionnerait très bien dans ce cas. :wink:
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités