我试图通过组合 do while 循环和 setInterval 函数来模拟掷骰子。
目标是:用户点击掷骰子按钮。他们查看一系列数字,然后滚动停止并返回一个值。
我的想法是使用“do while”循环来控制在骰子停止“滚动”之前发生的迭代次数。我尝试了一些不同的东西,但到目前为止没有任何效果。我最近的尝试如下。
function diceRoll(){
theNum = Math.floor(Math.random() * 6) + 1;
counter = counter + 1;
console.log(theNum);
console.log(counter);
}
$(document).ready(function(){
counter = 1;
myVar = '';
$('#start').click(function(){
do {
//
myVar = setInterval(function(){ diceRoll() }, 500);
} while (counter < 10)
});
原文由 TopTomato 发布,翻译遵循 CC BY-SA 4.0 许可协议
忘记
do while
循环。你只需要跟踪“状态”,这样你就可以在每个时间间隔采取相应的行动。counter
在这种简单的情况下会很好。如果使用间隔,您希望在完成间隔后清除间隔。在骰子滚动时“阻止”开始按钮也是有意义的。
这是您的代码的修改示例,它应该实现您正在尝试做的事情: