获取其中骰子的总和'它自己的窗口.并不是所有的窗户

Get sum total of dice within it's own window. And not all windows

本文关键字:窗口 它自己 自己的 并不是 窗户 获取      更新时间:2023-09-26

我正在尝试创建一个掷骰子游戏,将所有掷骰子的次数相加到一个总数中。我希望能够同时打开多个骰子。

我的问题是,所有的骰子都被加在一起,而不是每个单独的骰子都在数自己的骰子。

你会明白我在这把小提琴里的意思:https://jsfiddle.net/txdq7upw/9/

我认为问题出在这段代码中,因为它占用了所有被称为"骰子"的元素:

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;

};

我的猜测是,我需要以某种方式将骰子与他们自己的掷骰子器联系起来,但我不知道该怎么做。

我是JavaScript的新手,如果不太难的话,如果可能的话,我会喜欢一些代码示例。

你完成了所有的工作。只需在getSumDiceValue()中使用diceWindowWrapper变量而不是document来计算某个闭包中的骰子和:

function getSumDiceValue() {
  var dice = diceWindowWrapper.getElementsByClassName("dice");
  // ...
}

您可以在文章中阅读更多关于JavaScript闭包的内容。JavaScript闭包是如何工作的?