Miał takie kłopoty takie, rzeczy, których nie dodawał prawidłowo, w poprzednie pytanie, Zmienne javascript, nie dodawane, tylko włączanie jako ciągi, ale prosty javascript działał dobrze. Teraz zbudowałem cały kod w JSFiddle: http://jsfiddle.net/Trout0525/L2HOF79/7 /.

Wreszcie Rutynowe powtórzenia CalcScores, podobnie jak wersja, którą obecnie mam na stronie internetowej, nad którą pracuję. Oto JavaScript, który myślę, że jest winowani, głównie z wiązaniami, których używam, ale nie jestem pewien, dlaczego:

JavaScript:

    var selectionName= [
        "100pointsCol1","200pointsCol1","300pointsCol1","400pointsCol1","500pointsCol1",
        "200pointsCol1","200pointsCol2","300pointsCol2","400pointsCol2","500pointsCol2"
    ];

var teamSelection = {};
teamSelection['1'] = {};
teamSelection['2'] = {};
teamSelection['3'] = {};
teamSelection['4'] = {};
teamSelection['5'] = {};

teamSelection['1']['Selected'] = false;
teamSelection['2']['Selected'] = true;
teamSelection['3']['Selected'] = false;
teamSelection['4']['Selected'] = false;
teamSelection['5']['Selected'] = false;

teamSelection['1']['Score'] = 0;
teamSelection['2']['Score'] = 0;
teamSelection['3']['Score'] = 0;
teamSelection['4']['Score'] = 0;
teamSelection['5']['Score'] = 0;



window.onload = function() {
    $(function(){
        for (var i=0; i < selectionName.length; i++) {
            selection = selectionName[i];
            $("#" + selection).bind("click", {sName: selection}, makeSelection);
        }
    });
}

function makeSelection(event) {
    selection = event.data.sName;

    $("#" + selection).unbind("click");
    openQuestion(selection);
}



function startGame() {
    showGameboard();
}

function showGameboard() {
    $("#scoreboard").css("z-index", 100);
    $("#gameboard").css("z-index", 100);
    $("#startboard").css("z-index", 1);
}

function openQuestion(selection) {
    $("#scoreboard").css("z-index", 1);
    $("#gameBoard").css("z-index",1);
    $("#questionWindow").css("z-index",100);

    amount = selection.substr(0, selection.length-10); 

   $("#questionWindow").bind("click", function(){
        openAnswer(amount);
    });
}

function openAnswer(amount){

    $("#questionWindow").unbind("click");

    $("#questionWindow").css("z-index",1);
    $("#answerWindow").css("z-index",100);

    $("#answerWindow").bind("click", function(){
        calcScores(amount)
        showGameboard();
    });
}

function calcScores(amount) {
    $("#answerWindow").css("z-index",1);

    amount = parseInt(amount,10);

    for(var key in teamSelection) {

        var total = 0;

        if (teamSelection[key]['Selected']) {
            score = parseInt(teamSelection[key]['Score'],10);
            alert("score: " + score + "\n" +
                  "amount: " + amount + "\n" +
                  "total: " + total);
            var total = +score + +amount;
            alert("score: " + score + "\n" +
                  "amount: " + amount + "\n" +
                  "total: " + total);
            teamSelection[key]['Score'] = total;
        }
    }
    return;
}

Dlaczego więc powtarza obliczenia?

1
trout0525 18 sierpień 2014, 22:38

1 odpowiedź

Ponieważ używasz dwóch połączeń zwrotnych.

Usuń to

Window.onload = funkcja () {}

-1
TheNickyYo 18 sierpień 2014, 18:40