javascript - JavaScript:更新两个范围值之和的值
问题描述
我最近开始研究 Django 和 JavaScript,目前正在研究 Range 项。我成功地拥有了两个正常工作的量表,并在每次用户修改它们时更新它们旁边的值。
<p>You are spending<span id="demo1"></span> dollars on this item.</p>
<div class="input-group">
<p class="input-group-text">0<input type="range" id="myRange1" name="myRange" min="0" max = "120" step="5" class="form-range"></p>
<p class="input-group-text"> 120</p>
</div>
var slider1 = document.getElementById("myRange1");
var output1 = document.getElementById("demo1");
output1.innerHTML = slider1.value;
slider1.oninput = function() {
output1.innerHTML = this.value;
}
<p>You are spending<span id="demo2"></span> dollars on this item.</p>
<div class="input-group">
<p class="input-group-text">0<input type="range" id="myRange2" name="myRange" min="0" max = "120" step="5" class="form-range"></p>
<p class="input-group-text"> 120</p>
</div>
var slider2 = document.getElementById("myRange2");
var output2 = document.getElementById("demo2");
output2.innerHTML = slider2.value;
slider2.oninput = function() {
output2.innerHTML = this.value;
}
现在,我想要得到的是一个值,它是两个值的总和,并且一旦用户修改两个比例之一,它就会更新。我尝试了以下方法:
<p>You have spent <span id="demo_total"></span> dollars in total.</p>
var value_total = 0
var output_total = document.getElementById("demo_total");
output_total.innerHTML = 120 // Display the default slider value
value_total.value = function() {
output_total.innerHTML = parseInt(output1.innerHTML) + parseInt(output2.innerHTML);
}
但没有成功。你能帮我实现这一目标吗?先感谢您。
解决方案
检查代码我发现您没有正确添加侦听器,您需要先修复它。在让侦听器在每个滑块输入事件上正常工作之后,您可以计算总数并将其分配给 innerHTML,就像您现在正在做的那样。
对于侦听器,请检查:W3Schools JS DOM listeners
推荐阅读
- node.js - Aws ec2 - 如何设置负载均衡器以匹配 ec2 实例上的 docker 容器
- r - 代码可以是进度,但当我在 r 中转换 html 时显示有错误
- javascript - 将 js 目录和节点模块编译成单个 js 文件
- python - 有没有办法使用 Ibis (impala) 遍历表行
- scala - Snowflake 和 Databricks:有没有办法在 Utils.runQuery 中使用 Transaction?
- elasticsearch - 有没有办法从弹性搜索亮点中排除特定术语?
- haxe - 如何在 php 目标上成功解析带有 haxe 的 utf-16le 编码的 jsonfile?
- reactjs - 如何使用 React Query 访问缓存以显示数据?
- html - 在特定页面上清除 RouteReuseStrategy
- javascript - Svelte 窗口元素打开:加载回调未在移动 Safari 中触发