Partage
  • Partager sur Facebook
  • Partager sur Twitter

Click() sur plusieurs bouton en Jquery

    9 janvier 2018 à 15:52:19

    Bonjour,

    Dans le cadre des cours, je suis en train de faire un petit jeu en Jquery. J'aurais besoin qu'un bouton ne s'affiche que quand les autres boutons ont été cliqué, pour vous donner un contexte,  il faut trouver 4 objets dans une pièce qui permettent d’accéder à un bouton "jouer" . Seulement, même après divers tests et recherches je n'ai pas trouvé comment faire.. Soit quand je charge ma page on accède directement au bouton "jouer" soit rien ne se passe.

    Voici un Jsfiddle contenant une version simplifié de ce que je veux faire avec la solution qui me semblait le plus pertinente, mais qui ne fonctionne pas.

    jsfiddle.net/j0wrk5bs

    Des idées ?

    Merci par avance !

    -
    Edité par Ayuu 9 janvier 2018 à 15:54:26

    • Partager sur Facebook
    • Partager sur Twitter
      9 janvier 2018 à 19:50:38

      Bonsoir,

      $(function () {
      
      	$("#play").hide();
      	var btn1_active = false;
      	var btn2_active = false;
      	var btn3_active = false;
      
      	$('#btn1').click(function(){
                  btn1_active=true;
                  play();
              });	
      
      	$('#btn2').click(function(){
                  btn2_active=true;
                  play();
              });	
      
      	$('#btn3').click(function(){
                  btn3_active=true;
                  play();
              });	
      
      	function play(){
                  if (btn1_active == true && btn2_active == true && btn3_active == true) {
                      $("#play").show();
                  }
      	}
      
      });



       Ceci est un code juste, les changements:

      - Tout le Jquery doit être exécuté après chargement de la page donc tout dans le $(function(){}); qui est raccourci de $(document).ready( function(){});

      - Au tout début, tu caches le btn jouer en utilisant la méthode hide()

      - Sur la gestion des événements click, c'était bon dans l'idée mais il y avait une petite erreur de syntaxe et j'ai ajouté la fct play() à chaque fois (voir ci dessous)

      - La fonction play() reprend tout simplement la condition que tu avais en en enlevant les erreurs les erreurs de syntaxe. Elle sera appelée à chaque fois qu'un btn change d'etat.

      - La condition comprenais deux erreurs:

        1) if((condition1) && (condition2)) ne change pas de if(condition1 && condition2) mais surcharge l'écriture

        2) Si tu fais var = value dans une condition, tu lui demandes si l'affectation de value à la variable var n'as provoqué un erreur! Si tu veux vérifier que var vaut value, tu dois faire var == value

      Voila c'est presque tout, j'ai juste supprimé la propriété visibility de #play dans le css



      -
      Edité par Nathan CHEVALIER 9 janvier 2018 à 19:54:14

      • Partager sur Facebook
      • Partager sur Twitter
        10 janvier 2018 à 15:54:37

        Bonjour !

        Merci pour la correction et les explications, je pense avoir compris. Je vais l'intégrer à mon jeu. Encore merci ! :)

        • Partager sur Facebook
        • Partager sur Twitter

        Click() sur plusieurs bouton en Jquery

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown