【问题标题】:stop 2 sliders in a certain position在某个位置停止 2 个滑块
【发布时间】:2018-06-16 19:14:40
【问题描述】:

我有一个严重的问题,我想知道如何解决 javascript 或 jquery 中的问题,所以我有滑块输入 type="range" ,它们都有 100 作为最大值,就像这样:

 <input type="range" min="0" max="100" id="one">
    <input type="range" min="0" max="100" id="two">

所以为了将它们都停止在某个位置,我的意思是,当两个滑块的值都在 100 时,例如:第一个在 30 位置,第二个是 70,滑块不能' t去更多,或者他们每个人都在50。

为了在 javascipt 中进行操作,我获取了第一个滑块的值和第二个滑块的值,并将它们放在一个变量 co2 中 var co2 = 滑块 1 + 滑块 2

然后我写了,

var co2 = slider1+slider2
                  
                  if(co2>=100){
                      
                       document.getElementById("one").disabled()=true;
                       document.getElementById("two").disabled()=true;
                      
                    }

它可以完全停止 2 个滑块,对我来说,我只想不要让它们超过 100 的值,而不是停止它们

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    看来这就是你想要的。

    var elOne = document.getElementById("one"),
      elTwo = document.getElementById("two"),
      res = document.getElementById("result");
    
    var result = 0;
    
    elOne.addEventListener("input", function() {
      showResult("one");
    }, false);
    
    elTwo.addEventListener("input", function() {
      showResult("two");
    }, false);
    
    function showResult(slider) {
      result = parseInt(elOne.value) + parseInt(elTwo.value);
      if (result >= 100) {
        if (slider === "one")
          elOne.value = 100 - parseInt(elTwo.value);
        else
          elTwo.value = 100 - parseInt(elOne.value);
    
      }
      res.innerHTML = parseInt(elOne.value) + parseInt(elTwo.value);
    }
    #result {
        font-size: 2em;
    }
    <div style="margin-top: 1em">
      <h2>Total</h2>
      0 <input type="range" min="0" max="100" id="one">100 0
      <input type="range" min="0" max="100" id="two">100
    </div>
    
    <p id="result"></p>

    【讨论】:

    • 非常感谢@Jeshwel 的回答,但是如果您写的 p.value+q.value = 100,我希望 2 个滑块不会继续移动,但我可以去如果我想用 2 个滑块返回
    • 我没听懂你,你能让你的要求:更清楚吗?您希望两个滑块在总数达到 100 时停止移动;他们也不应该回去吗?在我的代码中,当滑块达到 100 时,它会阻止滑块向前移动,但滑块 1 或 2 的值可以减小,如果需要,两者都可以重新调整。
    • 我将用 2 个示例进行解释,如果我不清楚,抱歉,所以我必须使用滑块 ,1 和 2,第一个的最大值为 100,第二个的最大值为 100。每个滑块都依赖于另一个滑块,根据我们的说法,两个滑块的值都是 200,但是 2 个滑块需要达到的值是 100,它们必须在该点停止移动,否则如果我想回到 0我可以做到这一点。例如:如果滑块一个在中间,则意味着滑块2不能超过中间。另一个例子如果移动所有滑块1,第二个不必移动
    猜你喜欢
    • 2018-01-01
    • 2014-06-23
    • 1970-01-01
    • 2011-08-19
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多