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

jQuery Discussion :

Erreur "Variable non définie"


Sujet :

jQuery

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Erreur "Variable non définie"
    Bonjour,
    Je dois, dans le cadre d'un MOOC, réaliser un jeu pour lequel on doit cliquer sur des balles en fonction d'une consigne (couleur et taille).
    J'ai défini mon code html et mon script (enfin le début pour l'instant) mais j'ai un problème avec ma fonction afficheConsigne().

    Quand le lance le jeu j'ai un message d'erreur : la variable listeNiveaux n'est pas définie.

    Je suis nouveau en js et j'avoue que je sèche.

    Est-ce que quelqu'un peut m'aider SVP.

    D'avance merci.

    Voilà mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    $(function(){
    	init();
    });
     
     
    function init(){
     
    	//STRUCTURE
    		//Titre
    		$("#titre").html("<h1>Clic'Balles</h1>");
    		//Texte d'explication du jeu
    		$("#texte").html("Dans chacun des niveaux de jeu, cliquez sur les balles correspondant à la consigne affichée avant qu'elles ne touchent le bas du cadre !");
    		//Image du jeu
    		$("#image").html("<img src=\"\./images/jeu.jpg\" alt=\"image du jeu\">");		
    		//Boutons
    		$("#boutonJeu").html("<input type=\"submit\" name=\"boutonJeu\" id=\"boutonJeu\" VALUE=\"Jouez !\" onclick=\"afficheJeu()\"/>");
    		$("#boutonQuitter").html("<input type=\"submit\" name=\"boutonQuitter\" id=\"boutonQuitter\" VALUE=\"Quittez !\" onclick=\"afficheAccueil()\"/>");
    		$("#boutonAccueil").html("<input type=\"submit\" name=\"boutonAccueil\" id=\"boutonAccueil\" VALUE=\"Accueil\" onclick=\"afficheAccueil()\"/>");
    		$("#boutonRejouer").html("<input type=\"submit\" name=\"boutonRejouer\" id=\"boutonRejouer\" VALUE=\"Rejouez !\" onclick=\"afficheJeu()\"/>");
    		//Déclaration du canvas
    		$("#animation").html("<canvas id=\"canvas\">Texte pour les navigateurs qui ne supportent pas canvas</canvas>");
    		//Pied de page
    		$("footer").html("MOOC HTML5 - R. ALBA - Mai 2014");
    	//DONNEES
    		creeDonnees();
     
    	//VARIABLES
    		var tempsJeu = 0;
    		var niveauCourant = 1;
    		var ecranCourant = "accueil";
     
    	//GESTIONNAIRES
     
    	//REGLES
     
     
    	//LANCEMENT	
    		afficheAccueil();
    }
     
     
    //Fonctions
    	function creeDonnees(){
    			// On définit la consigne par niveau (couleur et taille des balles à cliquer)
    		var listeNiveaux = new Array();
    			listeNiveaux[0]=["rouges","petite"];
    			listeNiveaux[1]=["vertes","grande"];
     
    		// On définit les balles (idniveau, couleur, taille, position/x, vitesse, position/y, visible(1))
    		var listeBalles = new Array();
    			listeBalles[0]=[0,0,0,5,1,0,1];
    			listeBalles[1]=[0,1,1,20,2,0,1];
    			listeBalles[2]=[1,0,0,5,1,0,1];
    			listeBalles[1]=[1,1,1,20,2,0,1];
     
    		// On définit les couleurs avec le code hexadécimal
    		var listeCouleurs = new Array();
    			listeCouleurs[0]=["rouge","#FF0000"];
    			listeCouleurs[1]=["vert","#00FF00"];
     
    		// On définit le rayon des balles
    		var listeTailles = new Array();
    			listeTailles[0]=[5,"petite"];
    			listeTailles[1]=[20,"grande"];
    		}
     
     
    	function afficheAccueil(){
    			ecranCourant = "accueil";
    			$('#accueil').show();
    			$('#jeu').hide();
    			$('#bilan').hide();			
    		}
     
    	function afficheConsigne(){
    			$("#consigne").html("Cliquez sur les balles "+listeNiveaux[0][0]+" de "+listeNiveaux[0][1]+" taille !");
     
    		}
     
    	function afficheJeu(){
    			ecranCourant = "jeu";
    			$('#accueil').hide();
    			$('#jeu').show();
    			$('#bilan').hide();	
    			afficheConsigne();
    		}

  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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Un simple souci de portée des varaible ?

    http://jpvincent.developpez.com/tuto...javascript/#L2
    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 expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Il n'y a que dans la fonction dans laquelle a été déclaré une variable (avec le mot clef "var") que celle-ci est définie. Ailleurs, elle est parfaitement inconnue au bataillon.

    Plus de détail ici : http://jpvincent.developpez.com/tuto...javascript/#L2


    EDIT: GRILLED
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    Ta variable listeNiveaux est déclarée de manière locale dans la fonction creeDonnees, et tu essayes d'y accéder depuis la fonction afficheAccueil.

    Si tu débutes en JS, je te conseille de te former sur le langage. Il est très riche et flexible et a tendance à donner un faux sentiment de facilité aux utilisateurs débutants qui estiment alors pouvoir l'utiliser sans l'apprendre.
    En l'occurrence, renseigne toi sur la notion de scope.

    Edit: Carbonisé...

  5. #5
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Trop lents petit Scarabées ^^
    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 !

  6. #6
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Merci
    Citation Envoyé par SpaceFrog Voir le message
    Un simple souci de protée des varaible ?

    http://jpvincent.developpez.com/tuto...javascript/#L2

    C'était bien un problème de portée des variables.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2013] erreur 91, variable non défini ou variable de bloc with
    Par parvi dans le forum Macros et VBA Excel
    Réponses: 27
    Dernier message: 27/04/2015, 10h58
  2. [MySQL] Erreur sur variable non défini - défini
    Par BXDSPORT dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/07/2011, 15h38
  3. Erreur de compilation : Variable non définie
    Par Smallstone dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 12/07/2011, 08h32
  4. erreur compilation: variable non défini
    Par ngouagme dans le forum Langage
    Réponses: 8
    Dernier message: 07/07/2010, 15h38
  5. [AC-2003] Erreur de variable non définie
    Par piercleo dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/01/2010, 16h02

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