如何在javascript中保持我的掷骰子总数?

时间:2015-03-31 22:10:20

标签: javascript

好的,所以我到处搜索,找不到任何帮助。我有六个不同的单个模具图像。每次用户单击按钮时,图像都会发生变化。但是,我需要保持一个总计,这就是我被困住的地方。

<html>
<head>
</head>

<body>
<script>
function displaydie()
{ var total=0;

var num= ("src",(Math.floor(Math.random()*6)+1) + ".jpg")

document.getElementById("die").setAttribute("src",(Math.floor(Math.random()*6)+1) + ".jpg")
}



</script>

<img id="die" alt="die"/>
<br/>
<input type="button" value="Click me!" onclick="displaydie()"/>

<span id="total"/></span>
</body>

</html>

3 个答案:

答案 0 :(得分:0)

如果您需要知道每个卷,请使用数组。

var rolls = [];

//When rolled, do:
rolls.push(<roll value>);

如果您只需要一个总数,那么只需添加一个整数?

var total = 0;

//When rolled, do:
total += <value>;

如果没有更详细的信息,很难给出一个好的建议。

修改 好的......这听起来像是一个项目/任务,所以我只是试着引导你朝着正确的方向前进。

如果您需要担心的是总数,那么就不需要数组了。

您已经声明了总变量,因此这很好。

displaydie函数中,我建议您首先声明一个变量并为其分配随机(1-6)数字。然后将该数字添加到总数中,然后使用它来设置图像的来源。

要显示您的总计,您需要获得&#34;总计&#34;通过使用它的ID,然后设置值(可能通过innerText属性) - 删除你有的document.write调用。

听起来你需要添加&#34;重置&#34;按钮也将总数设置为0。

for ...循环不是定时函数 - 它会尽可能快地执行。因此,请确保您想要的是什么,或者您想要setTimeoutsetInterval之类的内容。如果for循环 是您想要的,那么请考虑在此期间不更改图像源,因为它无法以足够快的速度更新以便无论如何都能看到。

答案 1 :(得分:0)

这是你已经开始的一段有趣的代码...我通过它来理解它,但我会给你一些指示,除非你不能得到你自己。

首先,当你完成这项工作时,你应该进行一些检查。虽然大多数人更喜欢使用alert(variable),但console.log(variable)很简单。如果你试试console.log(num),你会发现一个非常有趣的结果。您可能希望num等于骰子卷,然后将变量放入setAttribute

另一件事是,document.write将完全覆盖您在该页面上拥有的所有内容。尝试设置value "total"的{​​{1}}。

现在,在我阅读本文时,我认为您的span循环将进行测试,以确保运行总计正在累积。你必须在这里理解的是,当你掷骰子时,你不会增加总数。您也不会将总数写入您的文档。您可能想尝试将这些添加到函数中,以便只需单击一下即可处理所有内容。

如果您真的遇到问题,可以多做一点,然后问我,我会给你编辑的代码。

答案 2 :(得分:0)

<!DOCTYPE html>
<html>
<head>
<script>
var total=0;
function displaydie()
{ 
  var diceNumberArray = [1,2,3,4,5,6];
  var showImageDice = Math.floor((Math.random()*diceNumberArray.length)+1);
  var sideToShow = "Image"+showImageDice;
  total += showImageDice;
  document.getElementById("total").innerHTML = total;
  document.getElementById("die").setAttribute("src",sideToShow+".jpg");
}

</script>
</head>
<body>

<img id="die" alt="die"/>
<br/>
<input type="button" value="Click me!" onclick="displaydie()"/>

<span id="total"/></span>
</body>

</body>
</html>