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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Le javascript, c'est hyper space comme concept

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Le javascript, c'est hyper space comme concept

n°984361
cosmoschtr​oumpf
dawa powered
Posté le 17-02-2005 à 00:14:44  profilanswer
 

J'ai une petite fonction rigolote :

Code :
  1. function initLiens() {
  2. for(i=1 ; i<=nbMenus ; i++) {
  3.  document.getElementById("lienmenu" + i).onclick = function() {
  4.   afficherMenu(i);
  5.  };
  6. }
  7. }


Voilà, rien de bien terrible.
 
Ce qui est rigolo, c'est que le lien ayant l'id "lienmenu1" devrait lancer la fonction afficherMenu(1). Mais non, ça lance afficherMenu(3). :heink:  
 
Encore plus fort, j'ai essayé ceci :
 

Code :
  1. function initLiens() {
  2. for(i=1 ; i<=nbMenus ; i++) {
  3.  var itemp = i;
  4.  document.getElementById("lienmenu" + i).onclick = function() {
  5.   afficherMenu(itemp);
  6.  };
  7. }
  8. }


Et là, un clic sur le lien "lienmenu1" me lance afficherMenu(2). [:tinostar]  
 
 
Alors, est-ce que je suis aveugle et c'est normal, ou est-ce que c'est un bug, ou quoi ? :o (je précise que je suis sous Firefox, rien à battre de IE pour le moment, puisque c'est pour une page en local pour moi tout seul, je verrais IE plus tard).

mood
Publicité
Posté le 17-02-2005 à 00:14:44  profilanswer
 

n°984400
cerel
Posté le 17-02-2005 à 00:57:46  profilanswer
 

Peut-etre que le probleme vient du "scope".
 
Faudrait savoir si JS utilise la valeur de la variable (au moment ou tu utilise ta fonction anonyme), ou si ce dernier garde le nom de la variable...
 
Essaye quelque chose comme ca juste pour voir :

Code :
  1. function initLiens() {
  2.          for(i=1 ; i<=nbMenus ; i++) {
  3.              var itemp = i;
  4.              document.getElementById("lienmenu" + i).onclick = eval ('function() {
  5.                  afficherMenu('+itemp+');
  6.              };');
  7.          }
  8.      }

n°984414
k666
dites non à petitmou
Posté le 17-02-2005 à 01:59:11  profilanswer
 

sinon une autre solution est d'ajouter une propriété à ton element:
 

Code :
  1. function initLiens() {
  2. for(i=1 ; i<=nbMenus ; i++) {
  3.  document.getElementById("lienmenu" + i).nouvellepropriete = i;
  4.  document.getElementById("lienmenu" + i).onclick = function() {
  5.   afficherMenu(this.nouvellepropriete);
  6.  };
  7. }
  8. }

n°984415
cosmoschtr​oumpf
dawa powered
Posté le 17-02-2005 à 02:14:36  profilanswer
 

yeah, la nouvelle propriete marche impec. En plus c'est un concept que je connaissait pas, merci :)
 
le coup du eval, j'avais essayé avec function() { afficherMenu(""+i) } mais ca marchait pas, et là ta proposition ne marche pas non plus, ça ne réagit simplement pas :heink:
 
bon, je laisse tomber, la proposition de k666 marche, c'est parfait :love:

n°984422
k666
dites non à petitmou
Posté le 17-02-2005 à 03:19:20  profilanswer
 

cool !
au fait aurais tu une méthode pour résoudre cette équation ?
 
# (x1 - X)² + (y1 - Y)² + (z1 - Z)² = c²(t1 - T-d1)²
# (x2 - X)² + (y2 - Y)² + (z2 - Z)² = c²(t2 - T-d2)²
# (x3 - X)² + (y3 - Y)² + (z3 - Z)² = c²(t3 - T-d3)²
# (x3 - X)² + (y3 - Y)² + (z4 - Z)² = c²(t4 - T-d4)²
 
les variables son X Y Z et T


Message édité par k666 le 17-02-2005 à 03:21:39
n°984587
cosmoschtr​oumpf
dawa powered
Posté le 17-02-2005 à 10:30:58  profilanswer
 

heu :heink:
 
moi les maths, ca fait un moment que j'en ai pas fait, désolé :D


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

  Le javascript, c'est hyper space comme concept

 

Sujets relatifs
fonction javascript pour ouvrir un explorer de fichier[javascript] pause,sleep, ou wait ou rien!
Mettre de l'HTML dans un layer (type infobulle) en JavaScript.[ASP.NET JAVASCRIPT]
[Javascript][résolu] Empêcher les posts monosmilesques[HTML/Javascript] gallerie avec image survolée et affichage séparé
Modifier le type d'un élément de formulaire en javascript[Résolu] Pb dans mon code javascript
Javascript: objet qui FUIT la sourisControle ASP.NET et javascript ?
Plus de sujets relatifs à : Le javascript, c'est hyper space comme concept


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