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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS] Déclaration de fonction dans une fonction

 

Sujet(s) à lire :
    - [XHTML/CSS/JS] menu déroulant
 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JS] Déclaration de fonction dans une fonction

n°908327
cosmoschtr​oumpf
dawa powered
Posté le 26-11-2004 à 11:35:53  profilanswer
 

bonjour
 
pour mon menu déroulant, je voudrais déclarer une fonction à l'intérieur d'une autre fonction. Pour ça, je voudrais que la "sous-fonction" aie un nom "incrémenté". Dans le genre :

Code :
  1. function fonctionQuiCrée() {
  2.     for (i=0;i<5;i++) {
  3.         function fonctionCrééei() {
  4.             faireDesTrucs();
  5.         }
  6.     }
  7. }


 
j'ai essayé function eval("fonctionCréée" + i + "()" ), j'ai essayé function "fonctionCréée" + i + "()", mais rien ne marche.
J'ai cherché un peu sur google, mais ça ne me donne rien pour le moment.
 
Est-ce que vous savez comment faire ?
 
Merci !

mood
Publicité
Posté le 26-11-2004 à 11:35:53  profilanswer
 

n°908336
esrevni
à contrario
Posté le 26-11-2004 à 11:45:25  profilanswer
 

en php ou en java pas de pb, en js, j'ai un gros doute qd mm

n°908341
cosmoschtr​oumpf
dawa powered
Posté le 26-11-2004 à 11:47:55  profilanswer
 

:sweat:
 
 
et on fait comment en php ? :D


Message édité par cosmoschtroumpf le 26-11-2004 à 11:48:09
n°908343
esrevni
à contrario
Posté le 26-11-2004 à 11:49:41  profilanswer
 

on pose la même question ici :
 
http://forum.hardware.fr/hardwaref [...] _sujet.htm
 
 
mais maintenant que j'y pense, il y aurait peut etre un moyen avec des "write" mais j'm'y connais po assez pour t'expliquer comment ca marche


Message édité par esrevni le 26-11-2004 à 11:51:29
n°908365
cosmoschtr​oumpf
dawa powered
Posté le 26-11-2004 à 12:15:44  profilanswer
 

des write ? Ca serait pas plutot pour modifier le html/affichage ça, pas pour le code JS ?

n°908478
esrevni
à contrario
Posté le 26-11-2004 à 13:58:19  profilanswer
 

C'est possible, je n'ai jamais eu à m'en servir donc je connais que très peu ces balises ;)


Message édité par esrevni le 26-11-2004 à 13:58:32
n°908480
cosmoschtr​oumpf
dawa powered
Posté le 26-11-2004 à 13:58:23  profilanswer
 

allez soyez cools quoi, aidez-moi :whistle:
 
en plus là je suis bloqué du coup :sweat:
 
 
merci ! [:atsuko]
 
 
Edit : ko esrevni, icrem dnauq-emêm (;
 
[:dehors]


Message édité par cosmoschtroumpf le 26-11-2004 à 13:59:58
n°908481
skeye
Posté le 26-11-2004 à 14:01:11  profilanswer
 

J'y connais queud en JS, mais pourquoi tu ferais pas connement une autre fonction qui prendrait ton i en paramètre? :??:


---------------
Can't buy what I want because it's free -
n°908484
esrevni
à contrario
Posté le 26-11-2004 à 14:07:39  profilanswer
 

je connais rien à php mais d'après les syntaxes que j'ai déjà vues je dirais ceci :
 

Code :
  1. <?
  2. for ($i=0;$i<$nombreDeFonctions;$i++)
  3. {
  4. echo 'function fonction' + $i + '{';
  5. echo 'début du corp de ma fonction';
  6. echo '...';
  7. echo 'fin du corp de ma fonction'
  8. echo '}';
  9. }
  10. ?>


Message édité par esrevni le 26-11-2004 à 14:09:32
n°908487
cosmoschtr​oumpf
dawa powered
Posté le 26-11-2004 à 14:16:27  profilanswer
 

skeye a écrit :

J'y connais queud en JS, mais pourquoi tu ferais pas connement une autre fonction qui prendrait ton i en paramètre? :??:


 
parce que voilà mon code :
 

Code :
  1. for (i=1;i<=nbMenus;i++) {
  2. document.getElementsByTagName('body').onclick = cacherMenus;
  3. with(document.getElementById('menu' + i)) {
  4.  onmouseover = montrerMenu(i); // c'est ici que ça fout la merde
  5.  onmouseout = timeoutMenu;
  6. }
  7. with(document.getElementById('ssMenu' + i)) {
  8.  onmouseover = killTimeout;
  9.  onclick = cacherMenus;
  10.  onmouseout = timeoutMenu;
  11. }
  12. }


 
le problème, c'est que montrerMenu(i), ben ça marche pas, parce que si on met des parenthèses, ça exécute directement la fonction, au lieu d'attendre le onmouseover. Et sans parenthèses, ben pour mettre un paramètre, c'est coton. C'est pour ça que, plus haut, je voulais créer une fonction par menu, et utiliser à chaque fois la fonction propre au menu...
 
Edit : à moins, bien sûr, qu'il soit possible de passer un paramètre dans ce cas de figure...


Message édité par cosmoschtroumpf le 26-11-2004 à 14:19:06
mood
Publicité
Posté le 26-11-2004 à 14:16:27  profilanswer
 

n°908586
bob007
Posté le 26-11-2004 à 15:34:21  profilanswer
 

esrevni a écrit :

je connais rien à php mais d'après les syntaxes que j'ai déjà vues je dirais ceci :
 

Code :
  1. <?
  2. for ($i=0;$i<$nombreDeFonctions;$i++)
  3. {
  4. echo 'function fonction' + $i + '{';
  5. echo 'début du corp de ma fonction';
  6. echo '...';
  7. echo 'fin du corp de ma fonction'
  8. echo '}';
  9. }
  10. ?>




 
utilises des " à la place des ', enfin c'est qu'un détail!
 
POur les priorités d'execution y'a pas un truc genre defer ou je ne sais plus trop quoi ?

n°908598
esrevni
à contrario
Posté le 26-11-2004 à 15:41:05  profilanswer
 

ca marcherait pas avec des ' ? ou bien ca marche mais c'est hors normes ?

n°908600
cosmoschtr​oumpf
dawa powered
Posté le 26-11-2004 à 15:41:08  profilanswer
 

oui mais là on est en javascript [:sisicaivrai]

n°908606
esrevni
à contrario
Posté le 26-11-2004 à 15:43:23  profilanswer
 

tu m'as demandé avant comment on faisait en php, alors j'ai cherché. Maintenant ta solution en js, AMHA, c'est mort.
 
tu devrais peut-être chercher ailleurs (la vérité y est peut-être)

n°908608
bob007
Posté le 26-11-2004 à 15:43:31  profilanswer
 

ca marche avec ' mais c'est pas approprié! Oui on est en javascript! Oublie alors! lol

n°908615
esrevni
à contrario
Posté le 26-11-2004 à 15:48:07  profilanswer
 

en même temps, dans la bd, tous les schtroumpfs se mobilisent pour que le cosmoschtroumpf croit vraiment faire un voyage dans l'espace. On pourrait essayer de se mobiliser pour pas lui casser totalement son rêve
 
 :pt1cable:

n°908617
cosmoschtr​oumpf
dawa powered
Posté le 26-11-2004 à 15:49:23  profilanswer
 

ok, mais dans ce cas, mon bôôô script ne sera pas complètement portable.... :/
 
bon, je vais essayer comme ça déjà, merci

n°908619
cosmoschtr​oumpf
dawa powered
Posté le 26-11-2004 à 15:50:01  profilanswer
 

esrevni a écrit :

en même temps, dans la bd, tous les schtroumpfs se mobilisent pour que le cosmoschtroumpf croit vraiment faire un voyage dans l'espace. On pourrait essayer de se mobiliser pour pas lui casser totalement son rêve
 
 :pt1cable:


 
 
ouais mais t'es pas un schtroumpf alors j'te croirais jamais  :kaola:  
 
 
 
 :D

n°908622
esrevni
à contrario
Posté le 26-11-2004 à 15:53:36  profilanswer
 

:fou: GNAP GNAP  :fou:

n°908652
cosmoschtr​oumpf
dawa powered
Posté le 26-11-2004 à 16:21:56  profilanswer
 

bon ça devient n'importe quoi :pt1cable:
 
merci en tout cas, avec un bout de php dans le fichier, ça marche maintenant... enfin, ça marche sous IE en tout cas :sweat: mais c'est un autre problème :jap:

n°908656
esrevni
à contrario
Posté le 26-11-2004 à 16:28:08  profilanswer
 

On peut ne pas aimer IE, mais si dire qu'un truc marche sous IE est un pb, c'est devient un peu exagéré quand même
 
 :D


Message édité par esrevni le 26-11-2004 à 16:28:37
n°908658
cosmoschtr​oumpf
dawa powered
Posté le 26-11-2004 à 16:30:54  profilanswer
 

Nan moi j'aime pas IE, je fais des sites anti-IE, hinhinhin, comme je suis machiavélique ! [:666]


Message édité par cosmoschtroumpf le 26-11-2004 à 16:31:36
n°908660
bob007
Posté le 26-11-2004 à 16:31:15  profilanswer
 

que ca marche sous IE c'est pas trop le problème à mon avis! Mais que ca marche QUE sous IE alors la je dis NON! :D

n°908669
cosmoschtr​oumpf
dawa powered
Posté le 26-11-2004 à 16:37:46  profilanswer
 

bon spa tout ca mais mon problème se déplace : http://forum.hardware.fr/forum2.ph [...] post=60386
 
:whistle:

mood
Publicité
Posté le   profilanswer
 


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

  [JS] Déclaration de fonction dans une fonction

 

Sujets relatifs
[SQL] Fonction pour tester si un champs est numérique ?Valeur résultat dans une fonction shell ?
fonction "inline"retour erreur de la fonction php mail()
[Perl] fonction sysreadPb avec ma fonction récursive
Rendre une fonction generalisable...Mettre une table à jour en fonction d'une autre de reference
try/catch et retour de fonctionpb avec la fonction ob_start()
Plus de sujets relatifs à : [JS] Déclaration de fonction dans une fonction


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