Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.01.2022, 14:46
Профессор
Отправить личное сообщение для face2005 Посмотреть профиль Найти все сообщения от face2005
 
Регистрация: 04.04.2014
Сообщений: 151

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 то все нормально.. подскажите как побороть?
Ответить с цитированием
  #2 (permalink)  
Старый 29.01.2022, 15:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

face2005,
let timer;
let resultNew = _ =>{
clearTimeout(timer);
timer = setTimeout(result, 300);
}
Ответить с цитированием
  #3 (permalink)  
Старый 29.01.2022, 15:30
Профессор
Отправить личное сообщение для face2005 Посмотреть профиль Найти все сообщения от face2005
 
Регистрация: 04.04.2014
Сообщений: 151

Сообщение от рони Посмотреть сообщение
face2005,
let timer;
let resultNew = _ =>{
clearTimeout(timer);
timer = setTimeout(result, 300);
}
Спасибо! но все равно проскакивает...
Ответить с цитированием
  #4 (permalink)  
Старый 29.01.2022, 15:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

face2005,
300 можно увеличить
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Просмотрела исходик jQuery Откорректируйте где не верно taksebe jQuery 5 23.11.2018 22:42
jQuery UI Slider - привязка с input type number Argeares Элементы интерфейса 3 20.06.2017 15:36
jquery ui slider gam0ra Общие вопросы Javascript 12 25.03.2015 18:46
Нужно связать input и ползунок jQuery Slider / jQuery ui IffeR jQuery 4 16.08.2014 18:01
jQuery UI Slider изменяет ширину ползунка SkaN2412 jQuery 1 26.11.2012 13:03