Partage
  • Partager sur Facebook
  • Partager sur Twitter

JavaScript et IE ?

Sujet résolu
    5 octobre 2009 à 15:41:07

    Bonjour les Zéros :) .

    J'ai un menu codé en JavaScript qui fonctionne parfaitement sous Firefox, mais qui est inactif sous IE 7 (je ne parle pas des :hover). Voici le menu en question :

    http://turing.lecolededesign.com/jmart [...] condaire.html

    Mes deux fonctions JavaScript sont :

    function Show(){ 
    var Arg = arguments; // Récupération : Liste des arguments envoyée à la fonction 
    var Obj; 
    for( var i=0; i< Arg.length; i++){ // Parcours de la liste 
    Obj = document.getElementById( Arg); // Récupération de l'objet correspondant 
    if( Obj){ 
    Obj.style.visibility = "visible"; 
    //-- Ou autre méthode 
    Obj.style.display = ""; 
    } 
    } 
    } 
     
    function Hide(){ 
    var Arg = arguments; // Récupération : Liste des arguments envoyée à la fonction 
    var Obj; 
    for( var i=0; i< Arg.length; i++){ // Parcours de la liste 
    Obj = document.getElementById( Arg[i]); // Récupération de l'objet correspondant 
    if( Obj){ 
    Obj.style.visibility = "invisible"; 
    //-- Ou autre méthode 
    Obj.style.display = "none"; 
    } 
    } 
    }
    


    Quelqu'un saurait m'expliquer ce problème?
    D'avance merci.
    • Partager sur Facebook
    • Partager sur Twitter
      5 octobre 2009 à 15:58:35

      utilise plutôt le "style.display = 'block' / none (conseil..)
      Sinon, évite de mettre des majuscules à tes variables, c'est réservé aux constructeurs.
      Le reste a l'air correct... Sauf que je sais pas si IE accepte le "arguments" mais je pense.
      La console d'IE ne te donne pas d'erreurs ?
      • Partager sur Facebook
      • Partager sur Twitter
        5 octobre 2009 à 16:23:00


        Je mets des majuscules à mes variables car avec des minuscules, le script ne marche pas tout court ... =/
        Non, pas d'erreur de la part d'IE, et le javascript est bien activé.
        • Partager sur Facebook
        • Partager sur Twitter
          5 octobre 2009 à 16:25:29

          Tu te doutes bien que si ça ne fonctionne pas avec des minuscules, c'est qu'il y a un problème plus grave...

          Tu n'as que ces deux fonctions dans ton code ? Montre le reste, s'il y a.

          @birdy : normalement IE gère bien arguments en effet.
          • Partager sur Facebook
          • Partager sur Twitter
            5 octobre 2009 à 16:43:08

            Non j'ai seulement deux fonctions :


            <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <link rel="stylesheet" media="screen" type="text/css" title="CSS_Exercices" href="../../css/menu_1.css" />
            
            <title>Exercices</title>
            
            <script type="text/javascript">
            
            function Show(){
            var Arg = arguments; // Récupération : Liste des arguments envoyée à la fonction
            var Obj;
            for( var i=0; i< Arg.length; i++){ // Parcours de la liste
            Obj = document.getElementById( Arg[i]); // Récupération de l'objet correspondant
            if( Obj){
            Obj.style.visibility = "visible";
            //-- Ou autre méthode
            Obj.style.display = "";
            }
            }
            }
            
            function Hide(){
            var Arg = arguments; // Récupération : Liste des arguments envoyée à la fonction
            var Obj;
            for( var i=0; i< Arg.length; i++){ // Parcours de la liste
            Obj = document.getElementById( Arg[i]); // Récupération de l'objet correspondant
            if( Obj){
            Obj.style.visibility = "invisible";
            //-- Ou autre méthode
            Obj.style.display = "none";
            }
            }
            } 
            
            </script>
            
            </head>
            


            Désolé Tiller :) .
            • Partager sur Facebook
            • Partager sur Twitter
              5 octobre 2009 à 16:45:35

              Oh balises code, pourquoi es-tu si cruelle ? Pourquoi abandonner ce pauvre Kiwaps a qui tu avais pourtant apporter ton aide au début. Oh cruelle balise.

              Edit:
              Normalement pas d'erreurs, essaies avec:

              <head>
              	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
              	<link rel="stylesheet" media="screen" type="text/css" title="CSS_Exercices" href="../../css/menu_1.css" />
              	
              	<title>Exercices</title>
              	
              	<script type="text/javascript">
              		
              		function show() {
              			var obj;
              			
              			for (var i = 0; i < arguments.length; i++) {
              				obj = document.getElementById(arguments[i]);
              				if (obj) {
              					obj.style.display = 'block';
              				}
              			}
              		}
              		
              		function hide(){
              			var obj;
              			
              			for (var i = 0; i < arguments.length; i++) {
              				obj = document.getElementById(arguments[i]);
              				if (obj) {
              					obj.style.display = 'none';
              				}
              			}
              		} 
              		
              	</script>
              </head>
              


              ou :

              <head>
              	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
              	<link rel="stylesheet" media="screen" type="text/css" title="CSS_Exercices" href="../../css/menu_1.css" />
              	
              	<title>Exercices</title>
              	
              	<script type="text/javascript">
              		
              		function display(el) {
              			return function() {
              				var obj;
              				
              				for (var i = 0; i < arguments.length; i++) {
              					obj = document.getElementById(arguments[i]);
              					if (obj) {
              						obj.style.display = el;
              					}
              				}
              			};
              		}
              		
              		var show = display('block');
              		var hide = display('none');
              		
              	</script>
              </head>
              
              • Partager sur Facebook
              • Partager sur Twitter
                5 octobre 2009 à 17:09:16

                Yes, j'ai testé ta première solution Tiller, et cela fonctionne sous IE :) :

                http://turing.lecolededesign.com/jmart [...] condaire.html

                J'te remercie ;) .
                C'est normal que IE demande toujours l'autorisation de l'internaute pour débloquer le JavaScript ?
                • Partager sur Facebook
                • Partager sur Twitter
                  5 octobre 2009 à 17:23:08

                  Il ne me demande rien.

                  Il te le demande si t'es en local s'tout normalement.
                  • Partager sur Facebook
                  • Partager sur Twitter

                  JavaScript et IE ?

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown