Menu JS dans PHP (relou)

Menu JS dans PHP (relou) - HTML/CSS - Programmation

Marsh Posté le 30-05-2006 à 19:13:51    

Béjor tutti !
 
 
vala je travaille (dur dur) sur un site veb "pro" (sous-entendu commercial), et moi c'est plutôt profil php (pour ce qui est du veb)...
Après ya la vebminster qui met en page tout ça, et qui s'amuse (pour mon plus grand plaisir...) à choper des scripts tout faits pour faire un joli menu en javascript, par exemple...
Après ça elle me dit : en fait c'est pas génial, car je veux que l'utilisateur puisse savoir sur quel lien de tel ou tel sous-menu il vient de cliquer, et que ce sous-menu correspondant (au lien cliqué) apparaisse toujours après le chargement de la nouvelle page.
 
Or JavaScript quand on clique sur un lien, lui il se charge en même temps que la page, et forcément il remet le menu dans son état d'origine, càd sans montrer aucun de ses sous-menus (le timide...). Donc problème... J'ai bien rajouté un vieux ?m=sm1, ?m=sm2, etc... dans mes url composant les sous-menus, m'enfin ça m'avance po à grand-chose... :sweat:  
 
<excuse_bidon_mais_quand_meme> En plus ça fait 5 ans que j'ai pas fait de JS </excuse_bidon_mais_quand_meme>, càd depuis mon IUT info :whistle:, et franchement je pensais en être débarrassé à vie de cette...
 
 
MERCI D'AVANCE, au moins pour une piste... :jap:  
 
ps : J'peux poster le code JS du menu aussi, m'en fous

Reply

Marsh Posté le 30-05-2006 à 19:13:51   

Reply

Marsh Posté le 30-05-2006 à 19:49:34    

juste une chtite remarque: il faut éviter de générer le menu du site en javascript car il y a encore beaucoup d'internauts qui désactive le javascript


---------------
NOUVEAU!! Février 2024 : j'ai créé un nouveau jeu en ligne : https://www.boblybots.com
Reply

Marsh Posté le 31-05-2006 à 00:38:49    

bah vi, v essayer de lui faire accepter le truc et de le faire en php, mais j'ai un peu peur qu'elle me prenne pour une feignasse (je viens d'arriver dans la boîte), déjà que les informaticiens ont une réput' qui les précède... :whistle:  
 
Et puis sinon ca "m'intéresse" d'avoir une idée de soluce pour ce type de prob... JS doit reprendre la main pour afficher le bon sous-menu, et il doit y avoir (il y a même, c sûr) possibilité de décomposer l'url pour lire mon paramètre m. Donc je peux savoir avec JS de quel endroit du menu mon utilisateur arrive...
Par contre, j'avoue que le code JS de ce menu en question n'est pas des + clairs comme ça (pour moi), et bref je sais pas trop encore comment forcer l'affichage d'un sous-menu, càd sans utiliser un onMouseOver...

Reply

Marsh Posté le 31-05-2006 à 09:37:05    

wup :whistle:

Reply

Marsh Posté le 31-05-2006 à 11:17:43    

et si on ne charge que une parti de la page en isolant le menu contenant du javascript ? ca marche pas ? (le comportement de javascript m'est kasi inconnu)

Reply

Marsh Posté le 31-05-2006 à 11:21:36    

ton idée d'utiliser des variables "get" étaient bonnes puisque tu peux les récuperer en js.
Il faut ensuite que tu changes l'initialisation de ton menu de façon à ce qu'il prenne en compte la-dite variable.
 
Tu peux également envisager de stocker cette variable dans un cookie, solution qui à l'avantage de t'éviter de modifier tous tes liens.

Reply

Marsh Posté le 31-05-2006 à 12:59:59    

poste le code du menu stp

Reply

Marsh Posté le 31-05-2006 à 23:14:02    

je fais ça demain matin :jap:

Reply

Marsh Posté le 01-06-2006 à 09:39:06    

vala le truc (rappel : ce n'est pas de moa)
 

Code :
  1. var target = 'self';
  2. categorie = new Array();
  3. // Categories du Menu
  4. categorie[0] = new Array();
  5.   categorie[0][0] = "actif";
  6.   categorie[0][1] = "Menu_1";
  7.   categorie[0][2] = "";
  8.   categorie[0][3] = "_self";
  9. categorie[1] = new Array();
  10.   categorie[1][0] = "actif";
  11.   categorie[1][1] = "Menu_2";
  12.   categorie[1][2] = "";
  13.   categorie[1][3] = "_self";
  14. // Groupe de liens
  15. /* Modifier ici les titres et liens - Vous pouvez en rajouter ou en supprimer autant de liens que vous voulez */
  16. lien = new Array();
  17. // Categorie 1 du Menu
  18. lien[0] = new Array();
  19. lien[0]["sous-menu_11"] = "page11.php?m=c1";
  20. lien[0]["sous-menu_12"] = "page12.php?m=c1";
  21. // Categorie 2 du Menu
  22. lien[1] = new Array();
  23. lien[1]["sous-menu_21"] = "page21.php?m=c2";
  24. lien[1]["sous-menu_22"] = "page22.php?m=c2";
  25. lien[1]["sous-menu_23"] = "page23.php?m=c2";
  26. <!--------------------------------------------- Ne rien modifier sous cette ligne ---------------------------------------------->
  27. function sousmenu_hide(actif) {
  28.     for (i=0; i<categorie.length; i++)
  29.         document.getElementById('menu' + i).className = i == actif ? 'sousmenu' : 'hide';
  30. }
  31. document.write("<table cellSpacing='1' cellPadding='0' width='170' border='0'>" );
  32. for (i=0; i<categorie.length; i++) {
  33.    document.write("<tbody>" );
  34.    document.write("<tr class='menu'>" );
  35.    if (categorie[i][0] == "actif" ) {
  36.     document.write("<td height='20' align='center' onMouseover=\"JavaScript:this.className='menu_selectactif'; sousmenu_hide(" + i + " );\" onMouseout=\"JavaScript:this.className='menu_nonselect'; sousmenu_hide(" + i + " );\">" );
  37. document.write("<img src='../images/nav_gauche/puce.gif' width='9' height='8' hspace='2'><a href='" + categorie[i][2] + "' target='" + categorie[i][3] + "' class='menu' onMouseover=\"JavaScript:this.className='menuhover';\" onMouseout=\"JavaScript:this.className='menu';\">" + categorie[i][1] + "</a>" );
  38.    } else {
  39.     document.write("<td height='20'  align='center' onMouseover=\"JavaScript:this.className='menu_select'; sousmenu_hide(" + i + " );\" onMouseout=\"JavaScript:this.className='menu_nonselect'; sousmenu_hide(" + i + " );\">" );
  40. document.write("<img src='../images/nav_gauche/puce.gif' width='9' height='8' hspace='2'>" + categorie[i][1]);
  41.    }
  42.    document.write("</td>" );
  43.    document.write("</tr>" );
  44.    document.write("<tr height='1'><td></td></tr>" );
  45.    document.write("<tr><td><center><table class='hide' id='menu" + (i) + "' cellSpacing='0' cellPadding='2' width='170'>" );
  46.  for (url in lien[i]) {
  47.  if (target == "blank" ) {
  48.   document.write("<tr onClick=\"JavaScript:window.open('" + lien[i][url] + "')\"><td class='sousmenu_nonselect' onMouseover=\"JavaScript:this.className='sousmenu_select';\" onMouseout=\"JavaScript:this.className='sousmenu_nonselect';\">" + url + "</tr></td>" );
  49.  } else if (target == "self" || target == "parent" || target == "top" ) {
  50.   document.write("<tr onClick=\"JavaScript:document.location.href='" + lien[i][url] + "'\"><td class='sousmenu_nonselect' onMouseover=\"JavaScript:this.className='sousmenu_select';\" onMouseout=\"JavaScript:this.className='sousmenu_nonselect';\">" + url + "</tr></td>" );
  51.  } else {
  52.   document.write("<tr onClick=\"JavaScript:top." + target + ".location.href='" + lien[i][url] + "'\"><td class='sousmenu_nonselect' onMouseover=\"JavaScript:this.className='sousmenu_select';\" onMouseout=\"JavaScript:this.className='sousmenu_nonselect';\">" + url + "</tr></td>" );
  53.  }
  54.  }
  55.    document.write("</table></center></td></tr>" );
  56. }
  57. document.write("</table>" );
  58. <!------------------------------------------------------------------------------------------------------------------------------>

Reply

Marsh Posté le 01-06-2006 à 09:45:36    

Je préfère eviter de modifier une telle merde, je laisse ça aux autre [:moule_bite]


---------------
Blablaté par Harko
Reply

Marsh Posté le 01-06-2006 à 09:45:36   

Reply

Marsh Posté le 01-06-2006 à 09:57:47    

gatsu35 a écrit :

Je préfère eviter de modifier une telle merde, je laisse ça aux autre [:moule_bite]


[:cupra]

Reply

Marsh Posté le 01-06-2006 à 14:57:52    

lol, j'aimerais bien dire la même chose tbh... :sweat:

Reply

Marsh Posté le 01-06-2006 à 15:13:32    

si j'etais toi je referai completement leur menu de merde ca prendrai moins de temps


---------------
Blablaté par Harko
Reply

Marsh Posté le 01-06-2006 à 15:20:36    

Il me semble qu'il serait plus simple de mettre sur chaque page une class sur le lien qui correspond à cette même page au lieu de faire des trucs dynamiques de merde.
 
Après c'est que mon avis.

Reply

Marsh Posté le 01-06-2006 à 21:26:45    

CNeo a écrit :

Il me semble qu'il serait plus simple de mettre sur chaque page une class sur le lien qui correspond à cette même page au lieu de faire des trucs dynamiques de merde.
 
Après c'est que mon avis.


Je plussoie ton avis


---------------
Blablaté par Harko
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed