Partage
  • Partager sur Facebook
  • Partager sur Twitter

Menu Onglet Tous Simple

Sujet résolu
Anonyme
    3 juillet 2009 à 17:57:05

    Sa mais chargement de la page terminé, accueil.php puis appel de multiclass avec paramètre : 0

    3 alerts ce sont manifester...
    • Partager sur Facebook
    • Partager sur Twitter
      3 juillet 2009 à 18:03:56

      "Début de multiclass : 0" n'apparaît pas ? o_O

      As-tu d'autres codes javascript inclus dans ta page ? Si oui, enlève-les pour l'instant, ne laisse que ce code Javascript, et ton HTML, et réessaie.
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        3 juillet 2009 à 18:14:29

        En effet quand j'enlève les autre il y a 6 alerts dont Début de multiclass : 0, mais elle apparait pas en premier :p .
        • Partager sur Facebook
        • Partager sur Twitter
          3 juillet 2009 à 18:33:29

          J'ai jamais dit qu'elle devait apparaître en premier ^^

          Elle doit apparaître en 4ème normalement.

          Bon, et donc sans les autres scripts, est-ce que tes onglets font ce qu'il faut ?
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            3 juillet 2009 à 18:56:48

            Non, il ne font pas ce qu'il faut :euh: .
            • Partager sur Facebook
            • Partager sur Twitter
              3 juillet 2009 à 19:29:37

              Ok.

              Avec ce code :

              function multiClass(eltId) 
              {
              	var arrLinkId = ['0','1','2','3'];
              	var intNbLinkElt = arrLinkId.length;
              	var arrClassLink = ['onglet-actif','onglet-inactif'];
              	var strContent = '';
              	for(var i=0;i<intNbLinkElt;i++) {
              	  document.getElementById("lien"+i).parentNode.className = arrClassLink[1];
              	}
              	document.getElementById("lien"+eltId).parentNode.className = arrClassLink[0];
              }
              var pages = { "default": 0, "/forum/": 1, "/partenaires.php": 2, "/contact.php":3 };
              window.onload = function() 
              {
              	var url = window.location.href;
              	var pg = /^.+?\/\/.+?\/(.*)$/i.exec(url);
              	pg = pg[1];
              alert(pg);
              	if (pages[pg]) 
              	{
              		var id = pages[pg];
              	}
              	else 
              	{
              		var id = pages['default'];
              	}
              
              	multiClass(id);
              };
              


              (et toujours en enlevant les autres codes JS), dis-moi ce que t'affiches la boîte de dialogue.

              Essaye sur ta page d'accueil, mais aussi sur la page du forum, les partenaires, et contact.
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                3 juillet 2009 à 19:49:21

                Sa marque le nom de la page dans la boîte de dialogue.
                • Partager sur Facebook
                • Partager sur Twitter
                  3 juillet 2009 à 19:59:53

                  ... de la précision s'il-te-plaît...

                  Au cas où tu n'aurais pas remarquer, ton script lit l'url de la page pour savoir quel onglet activer... (et tu devrais le savoir puisque c'est apparemment toi qui a codé ce script...)

                  Donc ne m'énerve pas. Et réponds à mes questions. Mon but c'est de résoudre ton problème hein... pas de m'amuser à te faire faire des alertes pendant 40000 ans.

                  Que t'affiche chaque boîte de dialogue ? (au caractère près.)
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    3 juillet 2009 à 20:07:07

                    Le nom des pages soit :

                    accueil.php, partenaires.php, etc...

                    L'alerte correspond bien au bon onglet a chaque fois.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      3 juillet 2009 à 20:29:54

                      C'est bien ce que je pensais... là normalement tu devrais me dire ... "Ah mais oui bien sûûûûûr !!!"

                      Regarde ton objet "pages" ... Dedans tu as mis... "/partenaires.php" ... et tu tu récupères "partenaires.php" Le slash est de trop ^^

                      Réessaye en corrigeant ton objet "pages" comme ceci :

                      var pages = { "default": 0, "forum/": 1, "partenaires.php": 2, "contact.php":3 };
                      
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        3 juillet 2009 à 20:55:00

                        C'est fait :) et sa récupère le nom des pages soit :

                        accueil.php, partenaires.php, etc...

                        L'alerte correspond bien au bon onglet a chaque fois.

                        Mais marche pas toujours :p .
                        • Partager sur Facebook
                        • Partager sur Twitter
                          3 juillet 2009 à 21:05:34

                          Avec ce code :

                          function multiClass(eltId) 
                          {
                          	var arrLinkId = ['0','1','2','3'];
                          	var intNbLinkElt = arrLinkId.length;
                          	var arrClassLink = ['onglet-actif','onglet-inactif'];
                          	var strContent = '';
                          	for(var i=0;i<intNbLinkElt;i++) {
                          	  document.getElementById("lien"+i).parentNode.className = arrClassLink[1];
                          	}
                          	document.getElementById("lien"+eltId).parentNode.className = arrClassLink[0];
                          alert(document.getElementById("lien"+eltId).innerHTML);
                          }
                          var pages = { "default": 0, "/forum/": 1, "/partenaires.php": 2, "/contact.php":3 };
                          window.onload = function() 
                          {
                          	var url = window.location.href;
                          	var pg = /^.+?\/\/.+?\/(.*)$/i.exec(url);
                          	pg = pg[1];
                          	if (pages[pg]) 
                          	{
                          		var id = pages[pg];
                          	}
                          	else 
                          	{
                          		var id = pages['default'];
                          	}
                          alert(id);
                          	multiClass(id);
                          };
                          


                          La première boîte du dialogue te donne bien un nombre différent de 0 sur les pages "forum", "partenaires" et "contact" ?

                          Et la deuxième le nom du lien qui doit être surligné ?

                          Si oui, c'est que le code fonctionne.

                          Montre ton CSS.
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            3 juillet 2009 à 21:28:28

                            Il me donne tous le temps "0".

                            CSS :
                            #onglet{
                            	color: #a6a6a6;
                            	font-family: Arial Black;
                            	font-size: 14px;
                            	line-height: 40px;
                            	height: 40px;
                            	margin-left: 5px;
                            }
                            #onglet a span {
                            	cursor:pointer;
                            	display:block;
                            	float:left;
                            	height:30px;
                            	line-height:30px;
                            	padding:0 20px 0 0;
                            }
                            #onglet a {
                            	color: #a6a6a6;
                            	display: block;
                            	float: left;
                            	font-size: 92%;
                            	font-weight: bold;
                            	font-style: italic;
                            	height: 40px;
                            	text-align: center;
                            	text-decoration: none;
                            	width: 127px;
                            	background-image: url('/images/webdesign/onglet.jpg');
                            	background-repeat: no-repeat;
                            }
                            #onglet a:hover, #onglet a:active, #onglet a:focus {
                            	background-image: url('/images/webdesign/onglet-actif.jpg');
                            	background-repeat: repeat-x;
                            	background-position: center bottom;
                            	color:#a6a6a6;
                            }
                            #onglet .onglet-inactif a:hover, #onglet .onglet-inactif a:active, #onglet .onglet-inactif a:focus {
                            	background-image: url('/images/webdesign/onglet-actif.jpg');
                            	background-repeat: repeat-x;
                            	background-position: center top;
                            	color:#a6a6a6;
                            }
                            #onglet li {
                            	background-image: url('/images/webdesign/onglet.jpg');
                            	background-repeat: no-repeat;
                            	width: 127px;
                            }
                            
                            #onglet li.onglet-actif a, #onglet li.onglet-actif a:hover, #onglet li.onglet-actif a:active, #onglet li.onglet-actif a:focus {
                            	background:transparent url('/images/webdesign/onglet-actif.jpg'); 
                            	background-repeat :repeat-x;
                            	background-position: center top;
                            }
                            
                            • Partager sur Facebook
                            • Partager sur Twitter
                              4 juillet 2009 à 10:04:32

                              Oups je n'avais pas re-corrigé l'aobjet pages :

                              function multiClass(eltId) 
                              {
                              	var arrLinkId = ['0','1','2','3'];
                              	var intNbLinkElt = arrLinkId.length;
                              	var arrClassLink = ['onglet-actif','onglet-inactif'];
                              	var strContent = '';
                              	for(var i=0;i<intNbLinkElt;i++) {
                              	  document.getElementById("lien"+i).parentNode.className = arrClassLink[1];
                              	}
                              	document.getElementById("lien"+eltId).parentNode.className = arrClassLink[0];
                              alert(document.getElementById("lien"+eltId).innerHTML);
                              }
                              var pages = { "default": 0, "/forum/": 1, "/partenaires.php": 2, "/contact.php":3 };
                              window.onload = function() 
                              {
                              	var url = window.location.href;
                              	var pg = /^.+?\/\/.+?\/(.*)$/i.exec(url);
                              	pg = pg[1];
                              	if (pages[pg]) 
                              	{
                              		var id = pages[pg];
                              	}
                              	else 
                              	{
                              		var id = pages['default'];
                              	}
                              alert(id);
                              	multiClass(id);
                              };
                              


                              Cette fois, c'est un nombre différent de 0 sur les pages forum, partenaires et contact, et la deuxième boîte indique bien le contenu de l'onglet à activer ?
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                4 juillet 2009 à 17:04:17

                                Sa affiche toujours "0" pour toutes les pages...
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  4 juillet 2009 à 17:13:04

                                  Bon, moi je suis décidément pas très dégourdi, mais toi tu ne m'aides pas beaucoup.

                                  J'ai oublié de modifié le code... pour la deuxième fois... tout est son contrôle.

                                  Bon cette fois je me concentre. :-°

                                  function multiClass(eltId) 
                                  {
                                  	var arrLinkId = ['0','1','2','3'];
                                  	var intNbLinkElt = arrLinkId.length;
                                  	var arrClassLink = ['onglet-actif','onglet-inactif'];
                                  	var strContent = '';
                                  	for(var i=0;i<intNbLinkElt;i++) {
                                  	  document.getElementById("lien"+i).parentNode.className = arrClassLink[1];
                                  	}
                                  	document.getElementById("lien"+eltId).parentNode.className = arrClassLink[0];
                                  alert(document.getElementById("lien"+eltId).innerHTML);
                                  }
                                  var pages = { "default": 0, "forum/": 1, "partenaires.php": 2, "contact.php":3 };
                                  window.onload = function() 
                                  {
                                  	var url = window.location.href;
                                  	var pg = /^.+?\/\/.+?\/(.*)$/i.exec(url);
                                  	pg = pg[1];
                                  	if (pages[pg]) 
                                  	{
                                  		var id = pages[pg];
                                  	}
                                  	else 
                                  	{
                                  		var id = pages['default'];
                                  	}
                                  alert(id);
                                  	multiClass(id);
                                  };
                                  


                                  Pitié, dis-moi que ça n'affiche pas uniquement des 0 ...
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Anonyme
                                    4 juillet 2009 à 17:40:57

                                    :euh: Je dois te dire que... Sa affiche un nombre différent sur chaque page :)
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      4 juillet 2009 à 23:20:16

                                      Je dois avouer que je me suis mis à la place de Golmote pendant un moment et j'ai eu peur :p .
                                      Sinon, je pense que c'est bon signe, on avance :) .
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      L'important n'est pas de savoir maîtriser une technologie à la perfection, mais d'avoir une belle capacité d'adaptation.

                                      Anonyme
                                        5 juillet 2009 à 3:42:49

                                        Citation : KYM-Young

                                        Sinon, je pense que c'est bon signe, on avance :) .



                                        Oui et Non, parce que les onglets ne se mette pas en actif donc le plus gros reste a faire a mon avis ;) .
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          5 juillet 2009 à 9:39:28

                                          Bon, et la deuxième boîte de dialogue, elle indique bien le texte de l'onglet qui devrait être activé ?

                                          EDIT : Je viens de jeter un oeil à ton CSS... Est-ce que tu peux m'expliquer pourquoi les onglets inactifs ont la même image en background que les actifs et que celle-ci se nomme "onglet-actif" ? o_O
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Anonyme
                                            5 juillet 2009 à 10:01:10

                                            Il y a qu'une boite de dialogue par page avec pour contenue l'ID, et dans mon css c'est normal c'est pour le survol des onglet inactif.
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              5 juillet 2009 à 11:26:13

                                              Qu'une seule boîte de dialogue ? o_O Et toujours sans les autres scripts hein ?

                                              EDIT : A tout hasard, t'aurais pas un lien vers la(les) page(s) online ? Ce serait tellement plus simple...
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Anonyme
                                                6 juillet 2009 à 2:56:31

                                                Oui, une seul boîte. Non...

                                                Non, les pages sont accessible seulement en local.
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  6 juillet 2009 à 10:20:51

                                                  Bon, moi j'en ai ras-le-bol. Franchement on s'en sort pas là...

                                                  Mais il y a deux remarques que j'aimerais faire avant de te laisser te débrouiller...

                                                  1) Comment arrives-tu à changer de page sachant que tes liens ont un return false à la fin du onclick ? Et d'ailleurs, pourquoi appellent-ils multiClass lors du clic... ?

                                                  2) Si tes fichiers sont en local... comment espères-tu qu'une RegExp conçue pour matcher des adresses du style "http://www.monsite.com/page.php" puisse matcher quelque chose de correct avec certitude ?

                                                  Si tu mets tes fichiers en ligne, sache que je serais tout à fait enclin à t'aider. Mais là je sature.
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

                                                  Menu Onglet Tous Simple

                                                  × 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