javascript - 达到最大值时对 Range 的 Int 进行求和并阻塞 Range

标签 javascript html

所以我正在尝试为 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/

相关文章:

css - 在td上显示左上角的图标

python - 如何在python中用增量计数替换数字字符串

html - 修复页脚中的容器溢出问题

html - 如何对齐按钮内容垂直对齐

html - 单击链接时纯 HTML/CSS 下拉菜单关闭(链接不打开)

javascript - React Native 在静态 navigationOptions 中使用 this.props

javascript - 如果我在其 EventListener 的函数中,如何获取该元素

javascript - 如何在单击该 div 按钮时获取字段的输入值?

javascript - 使用 sinon 测试 javascript apply 方法

javascript - 如何在悬停事件上打开包含可点击内容的弹出窗口