当输入范围达到特定值时运行JS脚本

时间:2016-11-11 04:02:34

标签: javascript html css

我的页面上有一个输入范围滑块,显示多个值。我想在值更改时更改同一页面上元素的CSS值。我很清楚onChange函数,但我想知道是否有办法在函数changeAtt达到特定值时运行它,例如2。

HTML:

<div id="change"></div>
<input class="slider "type="range" min="0" max="3" value="0" step="1" onchange="showValue(this.value)" />
<span id="range">0</span>

CSS:

#change {
    color:black;
}

JS:

function showValue(newValue) {
    document.getElementById("range").innerHTML=newValue;
}
function changeAtt() {
    document.getElementById("change").style.color = "white";
}

3 个答案:

答案 0 :(得分:2)

如果值达到某个预定义金额,您可以从changeAtt()调用showValue()函数。

function showValue(newValue) {
    document.getElementById("range").innerHTML=newValue;
    if(newValue === 2) {
        changeAtt();
    }
}
function changeAtt() {
    document.getElementById("change").style.color = "white";
}

答案 1 :(得分:1)

我认为您只需检查onChange事件中的值并进一步调用

function showValue(newValue) {
     if(newValue === '2') changeAtt()
     document.getElementById("range").innerHTML=newValue;
}
function changeAtt() {
    document.getElementById("change").style.color = "white";
}

答案 2 :(得分:0)

如何使用此类oninput Event然后应用于您的解决方案:

function myFunction(val) {
  document.getElementById("demo").innerHTML = val;
  if (val <= 300) {
    document.getElementById("change").style.color = "red";
  } else if (val > 300) {
    document.getElementById("change").style.color = "blue";
  }
}

然后:

<div id="change"><p id="demo">50</p>
</div>
<input id="pricing" type="range" min="50" max="301" step="1" oninput="myFunction(this.value)">