javascript - 实时 slider 输入总和并使用 javascript 在 div 上显示

标签 javascript jquery html css

伙计们 我一直在尝试创建 4 个范围 slider ,其值显示在右侧并实时显示它们的总和。

我能做什么-

  1. 我创建了 4 范围 slider
  2. 我在滑动时展示了它们的值(value)
  3. 我有一些代码可以对它们求和。

我不能做什么

  1. 我无法实时显示总和。

请看下面的快照:

enter image description here

这是我的代码:

<div id="slider">
<form oninput="amount.value=rangeInput.value; 
               amount2.value=rangeInput2.value;
               amount3.value=rangeInput3.value;
               amount4.value=rangeInput4.value;  
            " >

    <input name="one"     class="bar" type="range" id="rangeInput" value="0" onchange="rangevalue.value=value"/>
    <input name="two" class="bar" type="range" id="rangeInput2" value="0" onchange="rangevalue2.value=value"/>
    <input name="three" class="bar" type="range" id="rangeInput3" value="0" onchange="rangevalue3.value=value"/>
    <input name="four" class="bar" type="range" id="rangeInput4" value="0" onchange="rangevalue4.value=value"/>
    <span  class="highlight"></span>

     <output name="amount" for="rangeInput">0</output>
     <output name="amount2" for="rangeInput2">0</output>
     <output name="amount3" for="rangeInput3">0</output>
     <output name="amount4" for="rangeInput4">0</output>

    <br/>

Total:  <div id="total"></div>

     </form>
</div>


     <script type="text/javascript" language="javascript">
        $(document).ready(function(){
            $("#total").click(function(){
                var sum=$("#rangevalue").val()+$("#rangevalue2").val()+$("#rangevalue3").val()+$("#rangevalue4").val();
            });
        });
    </script>

关于如何实时显示求和数据的任何帮助?所以当我移动 slider 时总和会改变吗?

谢谢。

最佳答案

您已经在使用 jQuery,因此删除内联事件处理程序并改用 jQuery。

HTML 中似乎没有任何 rangevalue 元素,它们被称为 rangeInput

持续更新范围 slider 的事件是 oninput 事件。

然后只需要解析为数字并相加即可。

$(document).ready(function () {
    $('.bar').on('input', function () {
        var val1 = parseInt($("#rangeInput").val(), 10);
        var val2 = parseInt($("#rangeInput2").val(), 10);
        var val3 = parseInt($("#rangeInput3").val(), 10);
        var val4 = parseInt($("#rangeInput4").val(), 10);

        var sum =  val1 + val2 + val3 + val4;
        $('#total').text(sum)
    });
});

FIDDLE

关于javascript - 实时 slider 输入总和并使用 javascript 在 div 上显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29760816/

相关文章:

javascript - Jquery 删除图像

Javascript更改事件杀死点击事件

html - 像表格单元格和行一样定位 div

javascript - 为什么这些 RxJS observables 会产生奇怪的输出?

javascript - 如何从 HTML 中的内部选项获取隐藏输入

php - 如果引导模式处于事件状态或正在显示,如何停止每秒刷新一次的页面?

javascript - 使用 AngularJS 和 jquery.dataTables。更改不会更新

javascript - 获取当前单击的相对于元素的坐标

javascript - Javascript 中的偏移数组顺序与 Backstretch 插件一起使用

javascript - 单选按钮 - 初始检查并单击检查