Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как сделать что бы значение в dynamic-number, увеличеволось с 0 до значение dynamic-number?

Quasar Гуру (2928), закрыт 4 года назад
Дополнен 4 года назад
Лучший ответ
Elepsis Eclipse Гений (64067) 4 года назад
А зачем заново искать элемент при каждом вызове функции, если можно заранее сохранить ссылку на него, и достать через переменную...

___________________

setCounter();

function setCounter() {
    let curr = 0;

    let elem = document.getElementById("dynamic-number");
    let end = +elem.textContent;

    count();

    let interval = setInterval(count, 1000);

    function count(){
        if( curr == end ) clearInterval(interval);
        elem.textContent = curr++;
    }
}
QuasarГуру (2928) 4 года назад
а как сделать что бы при больших числах, скажем 1500 числа увеличивались быстро, на 10 каждый шаг?
Elepsis Eclipse Гений (64067) if( curr >= end ) clearInterval(interval); elem.textContent = ( curr += 10 ); А setInterval-у можно дать время по 50 мс... глаз всё равно не заметит разницу. У него там на самом деле стоит ограничение - вызывается не чаще, чем раз в 4-5 мс. При желании можно не частоту вызовов увеличивать, а `curr` + число за один вызов...
Остальные ответы
クマのプーさん Мудрец (15499) 4 года назад
можешь сразу сделать набор вызовов
setTimeout( s, 100);
setTimeout( s, 200);
setTimeout( s, 300);

можешь в самой функции написать

if( надовызыватьпопозже)
setTimeout( s, 100);
QuasarГуру (2928) 4 года назад
получается надо 2 раза писать setTimeout http://jsfiddle.net/yrnb2w9f/1/?
クマのプーさん Мудрец (15499) ну да можешь первый раз s напрямую вызывать
Похожие вопросы