Javascript 虚拟赌场中的“货币”货币变量不工作,立即重置
我正在尝试制作一个虚拟赌场来练习Javascript。我已经让轮盘赌工作,所以现在我想添加一个货币功能。基本上,玩家带着200美元进入赌场,当他或她赌博时,他们的货币金额会发生变化 这是我试图做的。在文档的html部分,有一句话是这样写的:You current have$200。200被封装在一个名为m的div中。然后,可变货币从该句子/div中获取该数字。当玩家旋转轮盘时,货币被减去或添加到可变货币中,然后div m的内容相应地改变 我所希望的是,在玩家旋转轮子之后,这将重写div'm'的内容,从而改变可变货币。然而,这根本不起作用。下面是代码示例:Javascript 虚拟赌场中的“货币”货币变量不工作,立即重置,javascript,html,Javascript,Html,我正在尝试制作一个虚拟赌场来练习Javascript。我已经让轮盘赌工作,所以现在我想添加一个货币功能。基本上,玩家带着200美元进入赌场,当他或她赌博时,他们的货币金额会发生变化 这是我试图做的。在文档的html部分,有一句话是这样写的:You current have$200。200被封装在一个名为m的div中。然后,可变货币从该句子/div中获取该数字。当玩家旋转轮盘时,货币被减去或添加到可变货币中,然后div m的内容相应地改变 我所希望的是,在玩家旋转轮子之后,这将重写div'm'的内
var money = document.getElementById("m");
function spin(){
var landing = Math.floor(Math.random() * 4) + 1;
var nsvalue = parseInt(document.regular_roulette.num_select.value);
var betvalue = parseInt(document.regular_roulette.bet.value);
if (landing === nsvalue) {
alert("You win $" + betvalue * 3);
money = money + (betvalue * 3);
} else {
alert("You lose $" + betvalue);
money = money - betvalue;
}
document.getElementById("m").innerText = money;
}
//why is it fleeting? I've seen this before.
</script>
</head>
<body>
You currently have $<div id = "m">200</div>
假设玩家下注7美元。发生的情况是,div'm'将闪烁一个数字-7或21 if,显示玩家赢或输了多少,然后立即恢复为200。如果我在变量money的赋值周围加上一个parseInt,这只会导致它闪烁NaN。即使我放弃这个概念,只把var money=200,它也会在返回到200之前闪烁193
我该怎么做?如何使货币变量根据下注结果增加或减少,并且可以跨越多个旋转 您在文档的头部定义了money,它在可用之前执行。您还将值设置为元素,而不是元素中的文本。因此,货币没有定义
您需要将其放在onload处理程序中,或者放在closing body标记之前
我不知道您是如何进行document.regular_轮盘赌的,所以这只是使用一个静态值,但它可能会有帮助:
风险值货币
函数自旋{
var landing=Math.floorMath.random*4+1;
var nsvalue=parseInt10;
var betvalue=parseInt10;
如果着陆===nsvalue{
document.getElementById'alert'.innerHTML=您赢得了$+betvalue*3
金钱=金钱+价值*3;
}否则{
document.getElementById'alert'.innerHTML=您将丢失$+betvalue
金钱=金钱-价值;
}
document.getElementByIdm.innerText=货币;
}
window.onload=函数{
money=parseIntdocument.getElementByIdm.innerText;
}
你现在有$
200
对不起,我应该把onload处理程序放在哪里?@DennisMarkham我添加了一个例子。如果这是我的,我会在javascript中设置一个集合,并将其添加到div中,而不是从div中读取它-但这是一个不同的问题。