所以我正在为RPG的角色生成器尝试一个脚本,并希望人们设置他们的统计数据。这些统计数据每个可以从1到10。用户使用常规HTML范围来设置它们。我总结了这些,直到用户总体达到18分。这里的问题是,我不知道当18点被击中时如何阻止暴涨。 我把这些统计数据总结如下:
<fieldset id="attribute" oninput="streight.value=parseInt(staerke.value);wisdom.value=parseInt(weisheit.value);agility.value=parseInt(geschick.value);APWert.value=parseInt(staerke.value)+parseInt(weisheit.value)+parseInt(geschick.value)+' / 36'">
<legend>Attribute</legend>
<label for="staerke">Stärke</label>
<input type="range" id="staerke" value="1" min="1" max="10">
<output name="streight" for="staerke">1</output>
<label for="weisheit">Weisheit</label>
<input type="range" id="weisheit" value="1" min="1" max="10">
<output name="wisdom" for="weisheit">1</output>
<label for="geschick">Geschick</label>
<input type="range" id="geschick" value="1" min="1" max="10">
<output name="agility" for="geschick">1</output>
<output name="APWert" id="APWert" for="ap">3 / 18</output>
</fieldset>
这是计算范围输入的值,将它们相加并在输出中显示它们而不重新加载页面。但是当达到最大值18时,我不知道如何停止范围输入。 我会非常感谢任何帮助。
答案 0 :(得分:1)
每次更改三个输入中的任何一个输入时,您都可以执行某些操作。它看起来像这样:
在HTML中
<input type="range" id="staerke" value="1" min="1" max="10" onchange ="value_changed()">
<input type="range" id="weisheit" value="1" min="1" max="10" onchange ="value_changed()">
<input type="range" id="geschick" value="1" min="1" max="10" onchange ="value_changed()">
在JS中
function value_changed(){
//pull in the three values
var staerke_value = parseInt($("#staerke").val());
var weisheit_value = parseInt($("#weisheit").val());
var geschick_value = parseInt($("#geschick").val());
if((staerke_value + weisheit_value + geschick_value ) > 18 ){
//if you are out of the range alert the user
alert("you messed up!");
}
}