11550 sujets

JavaScript, DOM et API Web HTML5

Tout d'abord bonjour et bonne année. Je me remets au développement web après une pose de quelques mois ( et oui quand on est jeunes on a le temps Smiley smile ) et je voulais savoir :
existe-t-il un équivalent du $$variable php ( qui permet de faire référence à une variable via le contenu d'une autre variable ) en javascript ?

Je vous explique un peu à quoi çà me servirait :

je fais une palette de couleur en XHTML/CSS/Javascript et là il s'agit de bouger un curseur.

Le XHTML :

<img src="selector.png" id="TSelector" class="selector" onclick="reverseVar('enableMoveT');" />


Le Javascript avec l'équivalent PHP de ce que je cherche :
function reverseVar(varName){
 if($$varName==1) $$varName=0;
 if($$varName==0) $$varName=1;
}


Voila s'il n'y a pas de solution en Javascript je ferais une fonction pour chaque variable.

Si vous avez une meilleur idée pour gérer la façon de bouger le curseur çà m'intéresse encore plus. Au début je pensais faire onmousedown et onmouseup mais le navigateur dit non car il ne comprends pas que l'image puisse bouger. Smiley decu
Modifié par CNeo (04 Jan 2007 - 16:40)
a écrit :

existe-t-il un équivalent du $$variable php ( qui permet de faire référence à une variable via le contenu d'une autre variable ) en javascript ?

IL y a une astuce très élégante à condition que la variable visée soit globale au script : window Smiley variable
Ou alors qu'elle fasse partie d'un objet : objet Smiley variable

Pour le reste ... il y a eval ... mais ça fait moins "bien".
C'est bon j'ai compris ( putain de BBCode ) :
function reverseVar(varName){
 if(window[varName]==0){
  window[varName]=1;
 }
 else if(window[varName]==1){
  window[varName]=0;
 }
}


Pour ceux que çà pourrait aider, la méthode eval qui est sûrement moins rapide en terme de temps d'exécution :
function reverseVar(varName){
 if(eval(varName+'==0')){
  eval(varName+'=1');
 }
 else if(eval(varName+'==1')){
  eval(varName+'=0');
 }
}

Modifié par CNeo (04 Jan 2007 - 16:39)