И в принципе больше в HTML разметке нам ничего не нужно.
<div id="num"></div>
$('#num').animate({ num: 90 - 3/* - начало */ }, { duration: 5000, step: function (num){ this.innerHTML = (num + 3).toFixed(2) + '%' } });
$.Tween.propHooks.number = { get: function ( tween ){ var num = tween.elem.innerHTML.replace(/^[^\d-]+/, ''); return parseFloat(num) || 0; }, set: function( tween ) { var opts = tween.options; tween.elem.innerHTML = (opts.prefix || '') + tween.now.toFixed(opts.fixed || 0) + (opts.postfix || ''); } }; $('#num2') .delay(2000) .animate({ number: 95 }, { duration: 5000, prefix: '~', postfix: '%', fixed: 3 });
Значение, с которого мы начинаем отсчет приписывается в контейнере HTML, поскольку оно может вставляться туда динамически через какой-нибудь php скрипт, а JS код будет его уже увеличивать в браузере клиента.
<p id="dynamic-number">35</p> var currentNumber = $('#dynamic-number').text(); $({numberValue: currentNumber}).animate({numberValue: 100}, { duration: 1000, easing: 'linear', step: function() { $('#dynamic-number').text(Math.ceil(this.numberValue)); } });
Можно еще улучшить скрипт, например запускать функцию увеличение числа при прокрутки страницы вниз, когда блок, в котором увеличивается число, находиться в видимой части страницы, если кого интересует такая доработка пишите в комментариях.
var output = $('span'), start = 0, end = 80, timer = setInterval(function () { output.text(start++ + '%'); if (start > end) { clearInterval(timer); } }, 50);
Guest
|
||||
Вот бы интересно было если бы разработали такой скрипт который запускается при прокрутке. Заранее благодарен
| ||||
Александр
|
Добрый день! а как задать шаг в 0,5?
|
вася
|
У меня есть скрипт,как сделать что б при обновлении страницы анимация не сбрасывалась ,а продолжала работать
<sc ript type="text/javascript"> var currentNumber = $('#dynamic-number').text(); var paraminingday = '189.84424'; var paraminingsutki = '333.62488454444'; $({numberValue: currentNumber}).animate({numberValue: paraminingsutki}, { duration: 86400000, easing: 'linear', step: function() { var n = parseFloat(this.numberValue); $('#dynamic-number').text(n.toFixed(5)); } }); </sc ript> |
Калькулятор соотношения сторон пропорции ширины и высоты
Калькулятор стоимости кафеля (плитки)
24.окт.2021
Битрикс Работа с сокетами Ошибка! Не работает
В проверке сайте можно наблюдать такую ошибку
Работа ...
17.июл.2021
Как передать Roistat в заказ 1С-Битрикс
Передать ID Roistat можно в сам заказ в Битриксе после его о...
21.июн.2021
Сбой на файле, ошибка распаковки пакета
При очередном обновлении 1С-Битрикс выскочила ошибка [UUGZA0...
03.июн.2020
Не выводиться заглушка в композитном кеше
Столкнулся с тем, что при указании заглушки в динамической о...
01.апр.2020
Установка SSL сертификата LetsEncrypt на BitrixVM
Установка SSL сертификата LetsEncrypt на виртуальную машину ...
07.мар.2020
Битрикс настройка SSL, ошибка работы с сокетами
Заходим в меню битрикса выбираем 8. Manage pool web servers ...
14.ноя.2019
Не выгружаются заказы в 1С
Не выгружаться заказы в 1С из сайта на битрисе могут по разн...
07.ноя.2019
Видео youtube на фон сайта
Как-то на сайт мне нужно было вывести видео на весь экран, к...
05.ноя.2019
Свойство с большим списком (датой)
Если в инфоблоке необходимо использовать свойство типа списо...
05.ноя.2019
Основные настройки BitrixVM
Приведу основные пути и файлы конфигурации в виртуальной маш...