Как проверить значения слайдера HTML в Javascript? (либо значение -1, либо значение +1) - PullRequest
0 голосов
/ 26 марта 2019

У меня есть этот слайдер в HTML, и мне было интересно, как проверить, равно ли предыдущее значение слайдера текущему значению. Пожалуйста, если вы знаете, как это сделать, дайте мне знать. Спасибо за ваше время.

var target = document.getElementById("myTarget");
let previous;

function foo(myValue) {
     
    //console.log(myValue);
     
    //Update SPAN
    target.innerHTML = myValue; //EXPECTED = CURRENT VALUE

    console.log(previous);

    if(previous === myValue){
       //Statements
       console.log("same");
    }else{
       //Statemets
       //previous = myValue;
       console.log("different");
    }
}
<input id="mySlider" type="range" value="0" min="0" max="5" step="1" oninput="foo(this.value);">
<span id="myTarget">0</span>

enter image description here

Ответы [ 2 ]

1 голос
/ 26 марта 2019

const slider = document.getElementById('mySlider');
const output = document.getElementById('output');

var initialValue = 2; // set however you want

slider.addEventListener('input', function (event) {
    let outcome = "'"+initialValue+"' and '"+this.value+"' are ";
    if( parseInt(this.value)===initialValue){
        outcome+= "equal!"
    } else{
        outcome+= "not equal"
    }
    output.innerHTML = outcome
}, false);
<input id="mySlider" type="range" value="0" min="0" max="5" step="1"/>


<div id="output">
  <em>Not run yet</em>
</div>
0 голосов
/ 26 марта 2019

Благодаря ответу @Martijn я смог создать цикл, подобный этому:

var slider = document.getElementById("slider-element_BV");

    slider.addEventListener('input', function(event){

    RAYS_CLASS.Ray_Techniques.RAYS_TECHNIQUES_MANAGER.BV().BV_REMOVE();

    for(var i=this.min; i<=this.max; i++) {
        if(parseInt(this.value) === i){
            RAYS_CLASS.Ray_Techniques.RAYS_TECHNIQUES_MANAGER.BV().BV_Subdivide(i);
        }
    }
});

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...