Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.02.2023, 17:44
Интересующийся
Отправить личное сообщение для Fox- Посмотреть профиль Найти все сообщения от Fox-
 
Регистрация: 10.01.2018
Сообщений: 20

Увеличение дробного числа
Здравствуйте, как можно увеличить в реальном времени? Принцип таймера, начать отсчитывать с 1.0 например до 1.100, когда достигнет 1.100 перестать отсчитывать, если с 1.0 до 2.10 указано в коде, то до этого числа считать. Сначала должно увеличиваться число после точки.
Пока получилось только так :

let n = $('#test').text().replace(/\D/g,'');

function separateNumber(x) {
  return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, " "); 
 
}



$({numberValue: n}).animate({numberValue: 10}, {
   duration: 5000,
   easing: "linear",
   step: function(val) {
      $('#test').text(separateNumber(Math.round(val)));
   }
});


Код:
<div id="test">1</div>
примерно так:
var timeElem = document.getElementById('time'), 
        countdown = new Date(),
        responseTime = new Date(Date.now() + (1000*10)); // таймер 10 секунд
 
function startTime() {
  countdown.setTime(responseTime - Date.now());
  timeElem.innerHTML = countdown.getUTCHours() + ':' + countdown.getUTCMinutes() + ':' + countdown.getUTCSeconds() + ':' + countdown.getUTCMilliseconds();
  if(countdown.getUTCHours() > 0 || countdown.getUTCMinutes() > 0 || countdown.getUTCSeconds() > 0) 
  requestAnimationFrame(startTime);
  else
  alert('Готово');
}
requestAnimationFrame(startTime);



но не нужен обратный отсчет и миллисекунды до ста только должны доходить

Последний раз редактировалось Fox-, 24.02.2023 в 18:20. Причина: добавил код
Ответить с цитированием
  #2 (permalink)  
Старый 25.02.2023, 00:46
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 458

Таймер от 0 до 100 миллисекунд? Думаете ваш мозг способен осознать анимацию на такой скорости? Вы что инопланетянин?
Ответить с цитированием
  #3 (permalink)  
Старый 25.02.2023, 14:32
Интересующийся
Отправить личное сообщение для Fox- Посмотреть профиль Найти все сообщения от Fox-
 
Регистрация: 10.01.2018
Сообщений: 20

Сообщение от Rise Посмотреть сообщение
Таймер от 0 до 100 миллисекунд? Думаете ваш мозг способен осознать анимацию на такой скорости? Вы что инопланетянин?
Можно миллисекунды замедлить немного, например в первом коде за скорость смены анимации отвечает.
duration: 5000


и когда досчитает до того числа которое в коде указано вывести сообщение alert('Готово');
как это все можно сделать? Покажите пример please

Последний раз редактировалось Fox-, 25.02.2023 в 14:34.
Ответить с цитированием
  #4 (permalink)  
Старый 25.02.2023, 17:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Fox-,
https://javascript.ru/forum/misc/786...tml#post514405
Ответить с цитированием
  #5 (permalink)  
Старый 25.02.2023, 19:59
Интересующийся
Отправить личное сообщение для Fox- Посмотреть профиль Найти все сообщения от Fox-
 
Регистрация: 10.01.2018
Сообщений: 20

Сообщение от рони Посмотреть сообщение
Fox-,
https://javascript.ru/forum/misc/786...tml#post514405
спасибо, ноэто я знаю как сделать, нужно типо с миллисекундами которые до ста, типо с 1.0 до 2.100 и при остановке таимера на 2.100 выдать alert
Ответить с цитированием
  #6 (permalink)  
Старый 25.02.2023, 20:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Анимация числа
Сообщение от Fox-
ноэто я знаю как сделать,
код из ссылки выше, что не так?
<div class="num"></div>
<script>
const elem = document.querySelector('.num');
const anim = () => {
    let d = performance.now(),
    from = 1,
    to = 2.1,
    duration = 5000;
    requestAnimationFrame( function e(b) {
    b = (b - d) / duration;
    1 <= b && (b = 1);
    let c = from + (to - from) * b ;
    elem.innerHTML = c.toFixed(3);
    b == 1 && alert('end');
    1 > b && requestAnimationFrame(e)
})
}
anim()
</script>

Последний раз редактировалось рони, 25.02.2023 в 20:22. Причина: добавлен заголовок
Ответить с цитированием
  #7 (permalink)  
Старый 11.05.2023, 19:24
Интересующийся
Отправить личное сообщение для Fox- Посмотреть профиль Найти все сообщения от Fox-
 
Регистрация: 10.01.2018
Сообщений: 20

Сообщение от рони Посмотреть сообщение
код из ссылки выше, что не так?
<div class="num"></div>
<script>
const elem = document.querySelector('.num');
const anim = () => {
    let d = performance.now(),
    from = 1,
    to = 2.1,
    duration = 5000;
    requestAnimationFrame( function e(b) {
    b = (b - d) / duration;
    1 <= b && (b = 1);
    let c = from + (to - from) * b ;
    elem.innerHTML = c.toFixed(3);
    b == 1 && alert('end');
    1 > b && requestAnimationFrame(e)
})
}
anim()
</script>
спасибо, все отлично
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анимированное увеличение числа Lefseq Общие вопросы Javascript 22 23.10.2019 11:20
Увеличение переменной на 1 за каждые 3 числа в другой переменной Fungus Общие вопросы Javascript 3 03.07.2018 20:12
Увеличение числа в поле input каждые 5 секунд и нажатие на кнопку ArxRash Элементы интерфейса 11 31.05.2017 13:25
Плавное увеличение числа raler jQuery 5 19.01.2017 09:34
Увеличение числа параллельных ajax соединений 1lider AJAX и COMET 0 03.07.2014 17:46