Ich habe einen Hochschulauftrag, wo ich einen Würfelroller programmieren soll.JavaScript: Mehrere Würfelrollen mit jeweils eigenen Würfelwürfeln gerollt
Sie können Würfel von der Walze hinzufügen und abziehen. Wenn Sie den Knopf drücken, um einen Würfel hinzuzufügen, wird ein d6 mit einer zufälligen Anzahl von Punkten (1 bis 6) erstellt. Sie können der Walze bis zu 40 Würfel hinzufügen.
Der Würfelroller zeigt die Summe der gewürfelten Würfel. Mein Problem ist, dass, wenn ich mehrere Rollen öffne, anstatt dass der Zähler auf Null steht, die Summe der Würfel in der ersten Rolle kopiert wird. Wenn ich der neuen Walze mehr Würfel hinzufüge, werden diese zur Summe der ersten Walze anstelle der neuen Walze addiert. Mit anderen Worten:
Dice Walze 1 zeigt die Summe der Würfelrolle 1,2,3,4 ...
Dice Walze 2 zeigt nur die erste Summe von Würfelrolle 1, und dann nicht aktualisiert .
Wie kann ich dies verhindern? Ich möchte, dass jede Rolle nur die Summe ihrer eigenen Würfel zeigt. Mit anderen Worten:
in Würfelrolle 1, mag ich nur die Summe der Würfel in Walze 1
in Würfel Walze 2, um zu zeigen, ich will nur die Summe des Würfels 2 in Rolle zeigen.
Hier ist der Code für einen Würfel mit einem Punkt.
// dice-side-one li
var diceSideOne = document.createElement("li");
diceSideOne.className = "dice dice-side-one";
diceSideOne.setAttribute('data-diceValue', '1');
Hier ist der Code, um die Summe der Würfel zu berechnen.
function getSumDiceValue(){
var dice = document.getElementsByClassName("dice");
var diceTotal = 0;
for(var i = 0; i < dice.length; i++){
diceTotal += Number(dice[i].getAttribute("data-diceValue"));
};
return diceTotal;
};
Hier ist der Code, um die Summe der Würfel zu zeigen.
// Dice summ li
var totalDiceSumm = document.createElement("p");
totalDiceSumm.className = "dice-summ";
totalDiceSumm.innerHTML = getSumDiceValue();
diceToolbarCounterWrapper.appendChild(totalDiceSumm);
(Ich habe gerade realisiert Summe nur mit einem ‚m‘ geschrieben wird)
lese ich Ihre Frage, und ich glaube, es gibt nicht genug Informationen, nur ist es zu beantworten. Sie stellen kein HTML zur Verfügung, ich glaube nicht, dass Sie das volle Javascript zur Verfügung gestellt haben. IMO Ihre beste Wette, um eine Antwort zu erhalten, ist eine funktionierende jsfiddle – TKoL
Hier ist eine Geige mit dem Problem https://jsfiddle.net/txdq7upw/1/ –
seine diese Zeile 'document.getElementsByClassName ('Würfel-Summ') [ 0] .innerHTML = getSumDiceValue() 'das ist das Problem. Du bekommst alle Elemente mit 'dice-summ'-Klassennamen, aber dann nimmst du das erste Element gezielt auf und aktualisierst nur – Craicerjack