Partage
  • Partager sur Facebook
  • Partager sur Twitter

Confusion avec "this"

Sujet résolu
    18 septembre 2019 à 13:53:27

    Bonjour,

    Je voulais me faire une petite demo en web d'une machine à buzzer pour répondre à des questions, mais mon JavaScript ne fonctionne pas. Le problème vient surement du "this", mais je sais pas vriament comment je ferais le truc sans le "this"

    var arr = [];
    var trace_arr = [];
    
    function putGreen() {
        var elems = document.getElementsByClassName("bouton");
        for (i=0; i<elems; i++) {
            if (arr.indexOf(elems[i]) !== 1) {
                elems[i].style.backgroundcolor = "red";
            }
            else {
                elems[i].style.backgroundcolor = "green";
                break;
            }
        }
    }
    
    function add2list() {
        if (arr.indexOf(this.id) === -1) {
            if (trace_arr.indexOf(this.id) === -1) {
                arr.push(this.id);
                trace_arr.push(this.id);      
            }
        }
    }
    
    function next() {
        arr.splice(0, 1);
        putGreen();
    }
    
    function reset() {
        arr = [];
        trace_arr = [];
        putGreen();
    }
    
    <!DOCTYPE html>
    <html>
        <head>
            <title>Boutons</title>
            <link rel="stylesheet" href="bouton.css">
            <script src="bouton.js"></script>
        </head>
        <body>
            <div id="container">
                    <div id="1" class="bouton" onclick="add2list()">1</div>
                    <div id="2" class="bouton" onclick="add2list()">2</div>
                    <div id="3" class="bouton" onclick="add2list()">3</div>
                    <div id="4" class="bouton" onclick="add2list()">4</div>
            </div>
            <div>
                <div id="control-container">
                    <div id="next" onclick="next()"></div>
                    <div id="reset" onclick="reset()"></div>
                </div>
            </div>
        </body>

    Merci d'avance pour votre aide


    -
    Edité par bergiLeZÉR0 18 septembre 2019 à 20:51:59

    • Partager sur Facebook
    • Partager sur Twitter

    "I believe in two things. Discipline and the Bible." The Shawshank Redemption

      18 septembre 2019 à 14:11:56

      Bonjour,

      Que te dis la console du navigateur ??

      • Partager sur Facebook
      • Partager sur Twitter

      Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)

        18 septembre 2019 à 17:24:04

        La console dit rien, et après réflection, le problème doit être causé par le "this", sauf que je sais pas encore quoi faire pour pouvoir remédier au problème

        -
        Edité par bergiLeZÉR0 18 septembre 2019 à 20:49:27

        • Partager sur Facebook
        • Partager sur Twitter

        "I believe in two things. Discipline and the Bible." The Shawshank Redemption

        Confusion avec "this"

        × 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