IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

arguments function


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    33
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 33
    Par d�faut arguments function
    Une erreur de script apparement mais j'vois pas d'ou �a vient:
    Firefox me dit que les arguments "no" et "size" ne sont pas d�finit.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    function aff_stats_redim(no, size) {
    if (document.getElementById('progress_bar_'+no).width > size + 5)
    	{
    		document.getElementById('progress_bar_'+no).width = document.getElementById('progress_bar_'+no).width - 5;
    		setTimeout('aff_stats_redim(no, size)', 200);
    	}
    Dans ce cas si, les arguments de la fonction aff_stats_redim ne sont pas d�finit quand j'appelle la fonction via le setTimeout... Alors que ces 2 variables existent plus haut dans le code... (la fonction alert() me le confirme !)
    Et bizarement, dans ce code:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    function aff_stats_redim(no, size) {
    if (document.getElementById('progress_bar_'+no).width > size + 5)
    	{
    		document.getElementById('progress_bar_'+no).width = document.getElementById('progress_bar_'+no).width - 5;
    		aff_stats_redim(no, size);
    	}
    C'est � dire la m�me sans le setTimeout, les variables sont bien d�finies quand je rappelle la fonction...
    Alors si quelqu'un a une id�e d'o� peut venir le probl�me..

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    33
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 33
    Par d�faut
    ah.. exacte mais ca change rien � mon probleme !
    (par ailleurs, ca marchait tres bien sans le style.. )

  4. #4
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    if (document.getElementById('progress_bar_'+no).style.offsetWidth > (size + 5))
    essaye de coller des messages d'alert ...

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    alert(document.getElementById('progress_bar_'+no).style.offsetWidth > (size + 5))
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  5. #5
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    33
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 33
    Par d�faut
    Cette partie l� du code marche...
    Mais c'est cette partie ou les variables sont dites ind�finies:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    setTimeout('aff_stats_redim(no, size)', 200);

  6. #6
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    oui, le pbm surgit qd tu repasses en param�tre des variables via un setTimeout();

    si tu regardes de pr�s, tu verras que les variables sont vides � partir du 2e passage;
    la solution, c'est de ne les passer qu'une fois!

    voici ce que je te propose:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    var no2, s;
    function aff_stats_redim(no, size) { 
    if(!no2){
    no2=document.getElementById('progress_bar_'+no);
    s=size};
    if (no2.width  > s + 5) {no2.width -=5}
    setTimeout('aff_stats_redim()', 200); 
    }

  7. #7
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    33
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 33
    Par d�faut
    Bah en effet, en d�clarant la variable en dehors de la fonction et en la d�finissant avant d'executer celle-ci �a marche.. Mais c'est vraiment bizare comme erreur et �a m'allourdit le script.. Personne ne sait d'o� �a provient :

  8. #8
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    honn�tement, �a n'alourdit rien et �a permet au syst�me de fonctionner

    le param�tre de la fonction n'est pas une vraie variable: il ne prend une valeur que si tu en passe une (!) lors de l'appel de fonction;

    dans ton setTimeout(), croyant retransmettre tes premi�res valeurs, tu transmets uniquement des param�tres null


    (la m�thode que je t'ai montr�e est �prouv�e: si elle te para�t si lourde, vois si tu peux tout b�tement te passer de param�tres, en passant par l'objet event, par exemple)

  9. #9
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    33
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 33
    Par d�faut
    Nan merci pour les events ca va aller. Merci pour votre aide. Maintenant que �a fonctionne bien, il ne manque plus que le tag r�solu

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 11
    Dernier message: 17/08/2010, 00h21
  2. R�ponses: 9
    Dernier message: 26/07/2007, 16h35
  3. No function matches the given name and argument types.
    Par Davboc dans le forum PostgreSQL
    R�ponses: 2
    Dernier message: 03/05/2007, 11h25
  4. R�ponses: 4
    Dernier message: 10/04/2006, 22h30
  5. R�ponses: 5
    Dernier message: 10/03/2006, 17h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo