dimanche 28 février 2016

Counter not working in jQuery

I am trying to run my counter for 3 times. once I reach 3 tries the button is supposed to be disabled. I tried couple variations of this solution to no avail. the issue is right on my rollItAgain function. I have my counter starting at 3, and a for loop with an if statement inside. I am also running my randomFunction() inside my if statement, not sure if this is good practice. As of now, I only click reroll once and it gets disabled. I would like it to run at least 3 times.

// 'use strict';
var array = [];

var random = Math.ceil(Math.random() * 9);
var newStars = "<div class='star'><img src='http://ift.tt/21Cq5Eh'></div>";

$(document).ready(init);

function init(){
        for (var i = 0; i < random; i++){
                $('#starbox').append(newStars);
                //Create Event Handler for selectNumbers Function               
        }
        $('.numbers').click(selectNumbers);
        $('#checked').click(confirm);
        $('.numbers').click(toggleButton);
        $('#playagain').click(playItAgain);
        $('#reroll').click(rollItAgain);

}

function randomFunction(){
        $('#starbox').empty();
        random = Math.ceil(Math.random() * 9);
        for (var i = 0; i < random; i++){
                $('#starbox').append(newStars);
        }
}       

//selectNumbers function
function selectNumbers(){
        var num  = $(this).text();
        // $(this).css('background-color', 'red');
        array.push(num);
        // console.log(array);
        sum = array.reduce(function(a, b){
                return Number(a) + Number(b);
        });
        console.log(sum);
        //Check if numbers has select class
        console.log(num);
}


function toggleButton(){
 
        $(this).toggleClass('select');

}

function confirm(){
        if (sum === random){
                $('#displayResult').append("Correct!");
                // $('.select').css('display', 'none');
        } else {
                $('#displayResult').append("Wrong, try again!!");
        }

        $('.select').remove();
}

function rollItAgain(){
        // debugger;
        var counter = 3;
        // debugger;
        for (var j = 0; j < counter; j++){
                if(j === counter){
                        
                        randomFunction();
                        counter++;
                        
                } else {
                        $('#reroll').attr('disabled', 'disabled');
                }
        }       
}

function playItAgain(){

        location.reload();
}
#numberbox {
        width: 400px;
        height: 100px;
        border: 2px solid green ;
}

.numbers {
        height: 100px;
    width: 100px;
    background-color:transparent;
    border: 2px solid #000;
    margin: 5px;
    line-height: 100px;
    display: inline-block;
    border-radius: 50%;
    text-align: center;
    border: 2px solid #000;
    font-size: 30px;


}

#starbox {

        min-height: 300px;
    min-width: 400px;
    background-color:transparent;
    border: 2px solid #000;
    margin:100px 100px;

    
}

.star {
    display: inline-block;
}

.select {
    background-color: red;
}
<script src="http://ift.tt/1oMJErh"></script>
<!DOCTYPE html>
<html lang="en">
<head>
        <meta charset="UTF-8">
        <title>Mathgame1</title>
        <link rel="stylesheet" type="text/css" href="style.css">
        <script src="http://ift.tt/1L6zqzP"></script>
        <script src="main.js"></script>
</head>

<body>
<div id="starbox"></div>
<p id="displayResult"></p>

<table id="numberbox" >
<button id="playagain">Play it Again</button>
<button id="checked">checked</button>
<button id="reroll">reroll</button>
        <tr >
                <td class="numbers">1</td>
                <td class="numbers">2</td>
                <td class="numbers">3</td>
        </tr>
        <tr >
                <td class="numbers">4</td>
                <td class="numbers">5</td>
                <td class="numbers">6</td>
        </tr>
        <tr >
                <td class="numbers">7</td>
                <td class="numbers">8</td>
                <td class="numbers">9</td>
        </tr>
</table>
</body>
</html>

Aucun commentaire:

Enregistrer un commentaire