Aderus
@Aderus

Как динамически обновлять значение переменной?

Здравствуйте! Есть счетчик и код ниже работает, но мне нужно как-то динамически обновлять setInterval у самого счетчика. Обычно там стоит 300. В итоге намутили рандом и поставили его на setInterval. В консоли счетчик заработал и выдавал каждую секунду рандомное число. Но в коде счетчика ничего не менялось. Код срабатывал,но видимо один раз. При загрузке страницы получал рандомную переменную и оставлял ее. А мне нужно чтобы значение переменной менялось.

Место где должно быть рандомное число прокомментировал.

(function(){
        $('.odometer').each(function(){
            function time(){
                return parseInt(new Date().getTime()/1000);
            }
            
            var array = ['1000', '200', '3000'];
            
            function func() {
               return array[Math.floor(Math.random()*array.length)];
            }
            
            setInterval(func, 100);
            
            var v = time();
            //var v = date.getHours();
            var o = new Odometer({
                el: this,
                value: v,
                format:'',
                theme: $(this).data('theme')
            });
            o.render();
            setInterval(function(){
                //o.update(Math.floor(Math.random()));
                o.update(v++);
            }, func()); // ВОТ ТУТ ДОЛЖНО БЫТЬ РАНДОМНОЕ ЧИСЛО ИЗ МАССИВА
        });
    })();


Заранее спасибо.
  • Вопрос задан
  • 885 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Вместо setInterval() запускайте одноразовый setTimeout() снова и снова, каждый раз с новым случайным временем.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы