所以我正在尝试为 Angular 色扮演游戏的 Angular 色生成器编写一个脚本,并希望人们设置他们的统计数据。这些统计数据每个可以从 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 时如何停止范围输入。 我非常感谢任何形式的帮助。
最佳答案
每次三个输入中的任何一个的输入发生更改时,您都可以执行一些操作来运行验证。它看起来像这样:
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!");
}
}
关于javascript - 达到最大值时对 Range 的 Int 进行求和并阻塞 Range,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39112135/