Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1344 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  mettre en "surbrillance" par validation clavier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

mettre en "surbrillance" par validation clavier

n°1590345
odo91600
Posté le 23-07-2007 à 16:55:27  profilanswer
 

Bonjour,
 
J'ai une liste de tâche sous forme de tableau (1d) où je peux mettre en
surbrillance 1 seul tache à la fois en utilisant les flêches haut et bas du  
clavier.
jusqu'ici, ça fonctionne.
 
Or, maintenant je veux pouvoir "validez" les tâches de ma liste dans l'ordre que  
je veux en les forcent à rester en surbrillance si j'ai appuyer sur "validez"
 
head

Code :
  1. <style type="text/css">
  2. <!--
  3. body {
  4. background-image: url(./images/guide-background.png);
  5. background-color: #000000;
  6. .tabnormal{background-color:white; color:navy; font-weight:bold}
  7. .tabover{background-color:green; color:white; font-weight:bold}
  8. }
  9. </style>
  10. <SCRIPT LANGUAGE="JavaScript">
  11. NavName = navigator.appName;
  12. NavVers = navigator.appVersion;
  13. Navigateur = NavName + " " + NavVers;
  14. </SCRIPT>
  15. <link href="style.css" rel="stylesheet" type="text/css">
  16. <script language="javascript">
  17. document.onkeypress = keyEvent;
  18. var index;
  19. var menu;
  20. function init(){
  21. index = 0;
  22. menu = new Array(
  23.  "tache n°1",
  24.  "tache n°2",
  25.  "tache n°3",
  26.  "tache n°4",
  27.  "tache n°5"
  28.  );
  29. drawMenu();
  30. }
  31. function keyEvent(e) {
  32. var key;
  33. if (e.keyCode) key = e.keyCode;
  34. else key = e.which;
  35. if(key == 116) {// rouge key
  36.   parent.window.location = './identification.html';
  37. }
  38. if(key == 117) {// vert key
  39.   parent.window.location = './identifica.html';
  40. }
  41. if(key == 118) {// jaune key
  42.   parent.window.location = './identification.html';
  43. }
  44. if(key == 119) {// bleu key
  45.   parent.window.location = './identification.html';
  46. }
  47. if(key == 38) {
  48. // key up
  49.  if(index > 0) {
  50.   index --;
  51.   drawMenu();
  52.  }
  53. }
  54. if(key == 40) {
  55. // key down
  56.  if(index < menu.length - 1) {
  57.   index ++;
  58.   drawMenu();
  59.  }
  60. }
  61. if(key == 13) {
  62. // validation key
  63.  switch(index){
  64.   case 0:
  65.    parent.window.location = './tache1.html';
  66.    break;
  67.   case 1:
  68.    parent.window.location = './tache2.html';
  69.    break;
  70.   case 2:
  71.    this.className='tabover';
  72.    //break;
  73.   case 3:
  74.    this.className='tabover';
  75.    //break;
  76.   case 4:
  77.    this.className='tabover';
  78.    //break;
  79.  }
  80. }
  81. }
  82. function drawMenu(){
  83. var str = '<table style="table">';
  84. for(var i = 0; i < menu.length ; i++) {
  85.  if(i == index) str += '<tr><td class="selected" height="25" width="650">&nbsp;&nbsp;&nbsp;' + menu[i] + "</td></tr>";
  86.  else str += '<tr><td class="normal" height="25">&nbsp;&nbsp;&nbsp;' + menu[i] + "</td></tr>";
  87. }
  88. str += "</table>";
  89. document.getElementById("tablo" ).innerHTML = str;
  90. }
  91. </script>


 
 
et body
 

Code :
  1. <body topmargin="0" marginheight="0" onload='init()' >
  2.   <p><div id="tablo" style="position:absolute;top:90px;left:-5px;"></div></p>
  3.  
  4. </body>


 
je cherche une solution et je suis novice.
 
merci
odo

mood
Publicité
Posté le 23-07-2007 à 16:55:27  profilanswer
 

n°1590396
mvdp
Posté le 23-07-2007 à 18:50:40  profilanswer
 

Dans ton javascript le var index ne joue aucun rôle.
var index est défini dans la ligne 27 avec la valeur 0.
 
Tu as beau à faire des tests (switch), dans ton script sa valeur ne bouge pas est reste toujours à zéro.

n°1590471
mvdp
Posté le 23-07-2007 à 23:04:11  profilanswer
 

Sorry, j'étais trop vite.
Peut-être ceci:

Code :
  1. <HTML>
  2. <HEAD>
  3. <TITLE> New Document </TITLE>
  4. <style type="text/css">
  5. body {background-color: #FFFFFF;}
  6. .tabnormal{background-color:white; color:navy; font-weight:bold;}
  7. .tabover{background-color:green; color:white; font-weight:bold;}
  8. .tabdone{background-color:red; color:black; font-weight:bold;}
  9.       </style>
  10.       <script language="javascript">
  11.       document.onkeypress = keyEvent;      var index;      var menu;
  12.   var drap= new Array;
  13.       function init(){
  14.           menu = new Array("tache n°1","tache n°2","tache n°3","tache n°4","tache n°5" );
  15.   for(var i = 0; i < menu.length ; i++) {drap[i]=0}
  16.   index = 0;         drawMenu();
  17.       }
  18.       function keyEvent(e) {
  19.          var key;
  20.           if (e.keyCode) key = e.keyCode;
  21.           else key = e.which;
  22.           if((key == 38) && (index > 0)) {index --;drawMenu();}   // key up
  23.           if((key == 40) && (index < menu.length - 1))    index ++; drawMenu(); }    // key down
  24.           if(key == 13) {drap[index]="1"; drawMenu()}          // validation key
  25. }
  26.       function drawMenu(){
  27.       var str = '<table style="table">';
  28.       for(var i = 0; i < menu.length ; i++) {
  29. var h="tabnormal"; //neutre
  30. if(index==i){h="tabover" ; } //on y est
  31. if(drap[i]==1) {h="tabdone"} // c'est fait
  32. str += '<tr><td class="'+h+'" height="25" width="650">&nbsp;&nbsp;&nbsp;' + menu[i] + "</td></tr>";
  33.       }
  34.        str += "</table>";
  35.         document.getElementById("tablo" ).innerHTML = str;
  36.        }
  37.       </script>
  38. </HEAD>
  39.       <body topmargin="0" marginheight="0" onload='init()' >
  40.        <p><div id="tablo" style="position:absolute;top:90px;left:-5px;"></div></p>
  41.       </body>
  42. </BODY>
  43. </HTML>


 
Mais attention, si tu ne sauvegarde pas quelque part le var drap, cela ne fonctionne tant que tu restes sur la page actuelle!
 
 

n°1590645
odo91600
Posté le 24-07-2007 à 11:29:19  profilanswer
 

Merci d'avoir répondu;
je pense avoir attaqué trop gros par rapport à mes compétences avec cette question.
Je vais donc reformuler complètement différemment sur un autre post (ce sera plus logique)
 
odo


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  mettre en "surbrillance" par validation clavier

 

Sujets relatifs
je viens de rendre mon site dynamique et je ne sait comment le mettrebalise textarea --> mettre une valeur pas default invisible
[Access] Mettre une valeur dans une zone de texte venant d'une table ?[Excel] mettre à jour un classement
problème pour mettre un fond dans <body>[RESOLU] Dreamweaver - Validation submit
Mettre un site en page de démarrage1 erreur de validation CSS 2.0
mettre en ligne mon site[Resolu] 1 erreur de validation XHTML 1.0
Plus de sujets relatifs à : mettre en "surbrillance" par validation clavier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR