Partage
  • Partager sur Facebook
  • Partager sur Twitter

Script qui ne fonctionne pas sous IE7

mais sous FF3 c'est ok...

    4 janvier 2009 à 20:57:41

    Bonjour je ne sais que pensais je fais un script qui fonctionne sous FF3 dont le code est :
    function afficher(id) {
    	window.clearTimeout(temps);
    	var div;
    	div = document.getElementById(id) ;
    	div.style.display = "block" ;
    	for(i=0;i<=9;i++) {
    		document.getElementById('blocNews'+i).style.display= "none";
    		document.getElementById('news'+(i+1)).style.backgroundImage = "url(images/onglet_affiche_deselection.png)";
    		if('blocNews'+i==id) {
    			document.getElementById('blocNews'+i).style.display= "block";
    			document.getElementById('news'+(i+1)).style.backgroundImage = "url(images/onglet_affiche_selection.png)";
    		}
    	}
    }
    function divsuivant(divactuel,totalDiv) {
    	divact=document.getElementById(divactuel);
    	divact.style.display="none";
    	numdivact=divactuel.split('News');
    	numdivsuivant = parseInt(numdivact[1]) + 1;
    	chiffreNewsPrev = document.getElementById('news'+numdivsuivant);
    	if(numdivsuivant==totalDiv) 
    		numdivsuivant = 0;
    	divsuivantSelect = document.getElementById("blocNews"+numdivsuivant);
    	divsuivantSelect.style.display= "block";
    	chiffreNewsNext = document.getElementById('news'+(numdivsuivant+1));
    	
    	chiffreNewsPrev.style.backgroundImage = "url(images/onglet_affiche_deselection.png)";
    	chiffreNewsNext.style.backgroundImage = "url(images/onglet_affiche_selection.png)";
    	temps = setTimeout(divsuivant,2000,'blocNews'+numdivsuivant,totalDiv);
    
    }
    


    Mais sous IE7 sa ne fonctionne pas , quelqu'un aurait une idée?
    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      4 janvier 2009 à 21:48:04

      Ça veut dire quoi que ça ne fonctionne pas ? On a aucune info là ! Il sert à quoi ton script ? Qu'est-ce qui ne fonctionne pas ? Est-ce que tu as essayé de modifier quelque chose ? Etc...
      • Partager sur Facebook
      • Partager sur Twitter
        4 janvier 2009 à 21:50:17

        Ok.
        Bah rien que celui là :
        function afficher(id) {
        	window.clearTimeout(temps);
        	var div;
        	div = document.getElementById(id) ;
        	div.style.display = "block" ;
        	for(i=0;i<=9;i++) {
        		document.getElementById('blocNews'+i).style.display= "none";
        		document.getElementById('news'+(i+1)).style.backgroundImage = "url(images/onglet_affiche_deselection.png)";
        		if('blocNews'+i==id) {
        			document.getElementById('blocNews'+i).style.display= "block";
        			document.getElementById('news'+(i+1)).style.backgroundImage = "url(images/onglet_affiche_selection.png)";
        		}
        	}
        }
        

        qui comme tu peux le voir sert à afficher un div et à en masque 9 autres...(regarde le code pour comprendre, ce n'est pas sorcier...
        Ben sous Firefox il marche très bien suite à un onClick et sous IE7 rien...
        Merci
        • Partager sur Facebook
        • Partager sur Twitter
          4 janvier 2009 à 21:56:09

          As-tu essayé de mettre des alert() à certains endroits pour vérifier si certaines parties du code sont bien atteintes ?
          • Partager sur Facebook
          • Partager sur Twitter
            4 janvier 2009 à 21:57:05

            Bah je pense que c'est plus un souci de compatibilité avec IE7...
            mais je vais essayer quand même ^^
            • Partager sur Facebook
            • Partager sur Twitter
              4 janvier 2009 à 21:58:34

              Je ne vois rien qui puisse faire foiré la compatibilité, je veux bien admettre que IE foire sur pas mal de choses mais y'a des limites.
              • Partager sur Facebook
              • Partager sur Twitter
                4 janvier 2009 à 21:59:51

                Bah en faite, j'ai mis un alert au début de la fonction.
                Donc quand je click sur le bouton la fenêtre alert apparait sous FF mais sous IE elle n'apparait pas, donc sa veut dire que le script n'est même pas exécuté.. :S
                • Partager sur Facebook
                • Partager sur Twitter
                  4 janvier 2009 à 22:02:41

                  Montre ton onclick et éventuellement d'autres choses que tu aurais caché.
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    4 janvier 2009 à 22:03:37

                    lol…

                    faut mettre tout le script, sinon on va pas pouvoir faire grand chose…
                    • Partager sur Facebook
                    • Partager sur Twitter
                      4 janvier 2009 à 22:04:06

                      Ah j'ai vus en bas il y a un petit truc avec marqué des erreurs sur la page, il m'a dit que temps n'était pas défini..., je l'ai défini et ce script marche mais celui la :

                      function divsuivant(divactuel,totalDiv) {
                      	divact=document.getElementById(divactuel);
                      	divact.style.display="none";
                      	numdivact=divactuel.split('News');
                      	numdivsuivant = parseInt(numdivact[1]) + 1;
                      	chiffreNewsPrev = document.getElementById('news'+numdivsuivant);
                      	if(numdivsuivant==totalDiv) 
                      		numdivsuivant = 0;
                      	divsuivantSelect = document.getElementById("blocNews"+numdivsuivant);
                      	divsuivantSelect.style.display= "block";
                      	chiffreNewsNext = document.getElementById('news'+(numdivsuivant+1));
                      	
                      	chiffreNewsPrev.style.backgroundImage = "url(images/onglet_affiche_deselection.png)";
                      	chiffreNewsNext.style.backgroundImage = "url(images/onglet_affiche_selection.png)";
                      	temps = setTimeout(divsuivant,2000,'blocNews'+numdivsuivant,totalDiv);
                      
                      }
                      


                      Ne marche toujours pas...
                      Bah c'est tout le script
                      • Partager sur Facebook
                      • Partager sur Twitter
                        4 janvier 2009 à 22:08:04

                        temps = setTimeout(divsuivant,2000,'blocNews'+numdivsuivant,totalDiv);
                        

                        Tu mets 4 paramètres à cette fonction ? Ça va pas aller tu sais ^^ .
                        • Partager sur Facebook
                        • Partager sur Twitter
                          4 janvier 2009 à 22:09:06

                          Citation : Nesquik69

                          temps = setTimeout(divsuivant,2000,'blocNews'+numdivsuivant,totalDiv);
                          


                          Tu mets 4 paramètres à cette fonction ? Ça va pas aller tu sais ^^ .



                          CF Doc..^__^
                          • Partager sur Facebook
                          • Partager sur Twitter
                            4 janvier 2009 à 22:13:49

                            Oui mais quand tu transmet une fonction avec des paramètres tu dois les mettre après le timer.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              4 janvier 2009 à 22:16:29

                              Ouais ben je vois pas...
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                4 janvier 2009 à 22:17:42

                                +1 pour setTimeout. j'suis content de pas avoir vu, encore une fois "fonction("+param+")". amen.

                                Sinon comment tu initialise ton script? qui appele ta fonction en premier?
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  4 janvier 2009 à 22:18:33

                                  Ok et j'ai essayer d'installer Firebug Lite, je l'ai installer et je vois bien le panneau qui apparait mais je sais pas ou sont afficher les erreurs^^

                                  Pour l'initialisation je met un setTimeout classique...

                                  Bref si vous pouvez me dire un bonne outil pour le debug sous IE7.
                                  MErCI
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    5 janvier 2009 à 20:46:43

                                    Et en définissant tes variables ?
                                    function divsuivant(divactuel,totalDiv) {
                                    	var divact=document.getElementById(divactuel);
                                    	divact.style.display="none";
                                    	var numdivact=divactuel.split('News');
                                    	numdivsuivant = parseInt(numdivact[1]) + 1;
                                    	var chiffreNewsPrev = document.getElementById('news'+numdivsuivant);
                                    	if(numdivsuivant==totalDiv) 
                                    		numdivsuivant = 0;
                                    	var divsuivantSelect = document.getElementById("blocNews"+numdivsuivant);
                                    	divsuivantSelect.style.display= "block";
                                    	var chiffreNewsNext = document.getElementById('news'+(numdivsuivant+1));
                                    	
                                    	chiffreNewsPrev.style.backgroundImage = "url(images/onglet_affiche_deselection.png)";
                                    	chiffreNewsNext.style.backgroundImage = "url(images/onglet_affiche_selection.png)";
                                    	temps = setTimeout(divsuivant,2000,'blocNews'+numdivsuivant,totalDiv);
                                    
                                    }
                                    

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      5 janvier 2009 à 20:52:14

                                      Nop...
                                      et comment on fait pour voir les erreurs javascripts sous IE7??
                                      La même chose que la console d'erreur sous mozilla Firefox .
                                      merci
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        5 janvier 2009 à 20:56:07

                                        On ne peux pas, on peux juste avoir la ligne du script qui plante, et encore, la ligne correspond a la ligne du fichier si tous le js avait été inclus dans la page directement (IE ne comprend pas les fichiers séparés en gros).
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          5 janvier 2009 à 20:58:25

                                          merde...
                                          mais Firebug lite ou Internet Toolbar ...? sa sert à quoi, je croyais que s'était pour débugger le js.

                                          Merci
                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          Script qui ne fonctionne pas sous IE7

                                          × 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