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 :

Fonction au clique sur un tableau


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 16
    Points : 13
    Points
    13
    Par défaut Fonction au clique sur un tableau
    Bonjour !

    J'essaye de coder un morpion en JS et HTML mais je rencontre quelques difficultés

    La grille de jeu est représentée par ce tableau :
    Code html : 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
    <table id="grille">
    	<tr>
    		<td id="A1" onclick="placerSigne()"><img src="Rond.png"></td>
    		<td id="B1" onclick="placerSigne()"></td>
    		<td id="C1" onclick="placerSigne()"></td>
    	</tr>
    	<tr>
    		<td id="A2" onclick="placerSigne()"></td>
    		<td id="B2" onclick="placerSigne()"></td>
    		<td id="C2" onclick="placerSigne()"></td>
    	</tr>
    	<tr>
    		<td id="A3" onclick="placerSigne()"></td>
    		<td id="B3" onclick="placerSigne()"></td>
    		<td id="C3" onclick="placerSigne()"></td>
    	</tr>
    </table>
    Les id correspondent aux coordonnées de chacune des cases.

    Chacune des cases exécute donc la fonction placerSigne() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function placerSigne(){
    	if(tourJoueur1 == true){}
    	else{}
    Oui je sais, elle ne fais rien ^^

    J'aimerais que cette fonction place une image (la croix) si tourJoueur1 est true et sinon (else) place une autre image (le rond).
    Cependant je ne parvient pas correctement à mettre une image dans une case, car cela modifie la taille des cases dans le tableau.

    De plus je ne sais pas comment placer l'image dans la case qui exécute la fonction (celle que l'utilisateur a cliqué) car elles exécutent toute la même fonction. Je sais que cela est possible sans créer une fonction différente par case mais je ne réussi pas à le faire.

    Merci beaucoup !

  2. #2
    Membre averti Avatar de Kennel sébastien
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 226
    Points : 329
    Points
    329
    Par défaut
    Bonjour Victofu,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function placerSigne(id) {
        var source = 'Rond.png';
     
        if (tourJoueur1 === true) {
            source = 'Croix.png';
        }
     
        var image_ = '<img src="' + source + '" alt="" />';
     
        document.getElementById(id).innerHTML = image_;
    }

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Merci pour ta réponse, ton code marche à la perfection !

    Pourrais tu simplement m'expliquer pourquoi mettre une triple = au lieu de simplement deux ?

  4. #4
    Membre averti Avatar de Kennel sébastien
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 226
    Points : 329
    Points
    329
    Par défaut
    C'est pour le typage

    « true » ne sera pas égal à « 'true' ».

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    D'accord !

    Merci beaucoup

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

Discussions similaires

  1. Remplir 2 tableaux via une fonction booléenne filtrant sur un tableau
    Par Elvaiz dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 31/03/2013, 16h06
  2. Fonction Replace mais sur un tableau de caractères
    Par prady92 dans le forum VB.NET
    Réponses: 8
    Dernier message: 18/02/2010, 14h18
  3. [XL-2003] insertion d'une fonction apres clique sur bouton
    Par moxo01 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/04/2009, 15h36
  4. Réponses: 8
    Dernier message: 18/12/2008, 18h49
  5. [VBA] Excel : Appel de fonction au clique sur un boutton
    Par nanu dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/09/2006, 19h30

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