Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   slider jquery ui (https://javascript.ru/forum/jquery/83633-slider-jquery-ui.html)

face2005 29.01.2022 14:46

slider jquery ui
 
Добрый день!
есть калькулятор с использованием slider jquery ui.
Проблема в том что при быстром перемещении ползунка в условиях искажаются данные, т.е такое впечатление что он не успевает вовремя поймать свое значение.
function result() {
    
    let resSumm = currentSumm * priceOneMassage;
    let realSumm = currentSumm * priceOneMassage;

    if ( currentSumm < 10000 ) {
      resSumm = resSumm;
      $(".econom").removeClass("activeEconom");

    } else if ( currentSumm >= 10000 && currentSumm < 100000 ) {
      resSumm = realSumm - ( resSumm / 100 * skidka1);
      let econom1 = realSumm - resSumm;
      $("#econom1").text(Math.round(econom1));
      $(".econom").removeClass("activeEconom");
      $(".ec1").addClass("activeEconom");

    } else if ( currentSumm >= 100000 && currentSumm < 1000000 ) {
      resSumm = realSumm - ( resSumm / 100 * skidka2);
      let econom2 = realSumm - resSumm;
      $("#econom2").text(Math.round(econom2));
      $(".econom").removeClass("activeEconom");
      $(".ec2").addClass("activeEconom");

    } else if ( currentSumm >= 1000000 ) {
      resSumm = realSumm - ( resSumm / 100 * skidka3);
      $(".econom").removeClass("activeEconom");
      $(".ec3").addClass("activeEconom");
    }
    $("#priceAllMassage").text(Math.round(resSumm));
  };


диапазон от 100 до миллионна с шагом в 100, если я шаг сделаю 5000 то все нормально.. подскажите как побороть?

рони 29.01.2022 15:03

face2005,
let timer;
let resultNew = _ =>{
clearTimeout(timer);
timer = setTimeout(result, 300);
}

face2005 29.01.2022 15:30

Цитата:

Сообщение от рони (Сообщение 543372)
face2005,
let timer;
let resultNew = _ =>{
clearTimeout(timer);
timer = setTimeout(result, 300);
}

Спасибо! но все равно проскакивает...

рони 29.01.2022 15:31

face2005,
300 можно увеличить


Часовой пояс GMT +3, время: 02:17.