IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Javascript pour FF et IE


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Par défaut Javascript pour FF et IE
    bonjour a tous.

    Voici un bout de script qui fonctionne tres bien sous FF mais qui me génère une erreur javascript sou IE (undefined a la valeur Null ou n'est pas un objet)

    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
     
    function hide(id)
    {
    	var img_menu = document.getElementById("menu_image_"+id);
    	if (img_menu)
    	{
    		var src = img_menu.src;
    		if (src.indexOf("_over") != -1)
    		{
    			img_menu.src = img_menu.src.replace("_over","_out");
    		}
    		if (document.getElementById("sousrub_"+id))
    		{	
    			document.getElementById("sousrub_"+id).style.display="none";
    		}
    	}
    	if (menuChoisi)
    	{
    		if (document.getElementById("sousrub_"+menuChoisi))
    		{	
    			document.getElementById("sousrub_"+menuChoisi).style.display="block";
    		}
    	}		
    }
    Quelqu'un pourrait il m'expliquer pourquoi ?
    Encore mieux pourrait il me mettre sur la voix de la résolution? (j'ai plusieurs autres méthodes du meme styles qui attendent d'etre modifiées une fois qu'on m'aura conseillée pour celle la !!)

    Merci d'avance

    Sebus

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    J'ai légèrement modifié ton code : au niveau des tests, et j'ai modifié la variable src (mot clef) en srcImg.

    Par contre "menuChoisi" j'ignore ce que c'est. Est-ce une variable globale ?
    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
    function hide(id)
    {
    	var img_menu = document.getElementById("menu_image_"+id);
    	if (img_menu!=null)
    	{
    		var srcImg = img_menu.src;
    		if (srcImg.indexOf("_over") != -1)
    		{
    			img_menu.src = img_menu.src.replace("_over","_out");
    		}
    		if (document.getElementById("sousrub_"+id)!=null)
    		{	
    			document.getElementById("sousrub_"+id).style.display="none";
    		}
    	}
    	if (menuChoisi)
    	{
    		if (document.getElementById("sousrub_"+menuChoisi)!=null)
    		{	
    			document.getElementById("sousrub_"+menuChoisi).style.display="block";
    		}
    	}		
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Par défaut
    oui menuChoisi est une variable situé dans le fichier. C'est donc une variable globale je pense. Elle contient un entier.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Par défaut
    et cette boucle tu la transformerai comment ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	for (var i=1; i<6;i++)
    	{
    		if (i != id)
    		{
    			if (document.getElementById("sousrub_"+i) != null)
    			{	
    				alert('IE');
    				document.getElementById("sousrub_"+i).style.display = "none";
    			}
    		}
    	}
    Mreci pour ton aide !!!!

  5. #5
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Je ne vois pas trop où tu veux en venir avec ta boucle...
    Le code que j'ai corrigé plus haut génère toujours une erreur 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
     
    var objet = document.getElementById("sousrub_"+i);
    var i;
     
    for (i=1; i<6;i++)
    	{
    		if (i != id)
    		{
    			if (objet  != null)
    			{	
    				alert('IE');
    				objet.style.display = "none";
    			}
    		}
    	}
    Citation Envoyé par sebus
    oui menuChoisi est une variable situé dans le fichier. C'est donc une variable globale je pense. Elle contient un entier.
    Tu penses que c'est une variable globale ?? Il est de toi ce code ? Si cette variable contient un entier le test devrait être de la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (menuChoisi==valeur)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (menuChoisi!=valeur)

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Par défaut
    Oui le 1er code que tu me proposais génère toujours une erreur sous IE ....

    Sinon ben ouais le code est de moi. Et IE me chauffe grave que je vais le massacrer !!!!!

  7. #7
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    au temps pour moi

    indexOf permet de connaître la position d'1 caractère et non la présence d'une chaîne!

    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
    function hide(id)
    {
    	var img_menu = document.getElementById("menu_image_"+id);
    
    	if (img_menu!=null)
    	{
    		var srcImg = img_menu.src;
    		var exp = new RegExp("(_over)","gi");
    
    		if (exp.test(srcImg) == true)
    		{
    			img_menu.src = img_menu.src.replace("_over","_out");
    		}
    		if (document.getElementById("sousrub_"+id)!=null)
    		{	
    			document.getElementById("sousrub_"+id).style.display="none";
    		}
    	}
    
    	if (menuChoisi)
    	{
    		if (document.getElementById("sousrub_"+menuChoisi)!=null)
    		{	
    			document.getElementById("sousrub_"+menuChoisi).style.display="block";
    		}
    	}		
    }
    [edit]
    par contre j'aimerai bien avoir le code complet de la page (ou une partie), histoire de mieux cibler le problème. Visiblement, il s'agit du code d'un menu déroulant.
    [/edit]

Discussions similaires

  1. Norme JavaScript pour les formulaire
    Par rdams dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/09/2005, 14h14
  2. Intégration Javascript pour menu deroulant CSS compatible IE
    Par Dantahoua dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 18/08/2005, 20h41
  3. un micro souci javascript pour la position d'un image
    Par gg14bis dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 17/06/2005, 15h11
  4. fonction javascript pour tout cocher
    Par Flob dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/02/2005, 10h36
  5. Modif JavaScript pour fonctionnement sous IE et Firefox
    Par Steph4fun dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/11/2004, 13h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo