Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.10.2015, 13:41
Аватар для annie88
Кандидат Javascript-наук
Отправить личное сообщение для annie88 Посмотреть профиль Найти все сообщения от annie88
 
Регистрация: 25.09.2015
Сообщений: 101

период в setInterval
Добрый день!
Не могли бы Вы мне помочь?
У меня есть функция, выполняющаяся с периодичностью 30 сек. В ней через setInterval вызывается другая функция, создающая мнимый прогресс бар. Проблема такая, я никак не могу понять какой период необходимо поставить в setInterval, чтобы уместиться в эти 30 сек(как бы глупо это не звучало). Проверяла сколько раз вызывается эта функция и получала каждый раз разные значения, при одном и том же интервале Не могли бы Вы подсказать из-за чего это может происходить?

функция, выполняющаяся с периодом 30сек
function  funk(){
		setInterval(progressLoad, 3000);// вот здесь она вызывается
		    }


функция, имитирующая progress bar
function progressLoad(){//отображение загрузки
	    var progress = $(document.getElementsByClassName('active-kadr')[document.getElementsByClassName('active-kadr').length-1]).find('.progress_bar');
		if(interest != 100) {
			interest++;
			progress[0].style.width = interest + '%';
				}else{}
	
	}

Последний раз редактировалось annie88, 26.10.2015 в 13:43.
Ответить с цитированием
  #2 (permalink)  
Старый 26.10.2015, 15:27
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от annie88
Не могли бы Вы подсказать из-за чего это может происходить?
JS не является языком реального времени

Цитата:
Производительность

Большое количество таймеров может привести к серьезной нагрузке на процессор.

Это в первую очередь касается приложений, в которых одновременно анимируется большое количество объектов. В этом случае, по возможности, следует использовать один таймер, который выполняет всю анимацию, а не множество независимых.
http://javascript.ru/setTimeout
Ответить с цитированием
  #3 (permalink)  
Старый 26.10.2015, 15:49
Аватар для annie88
Кандидат Javascript-наук
Отправить личное сообщение для annie88 Посмотреть профиль Найти все сообщения от annie88
 
Регистрация: 25.09.2015
Сообщений: 101

Не могли бы Вы сказать, есть ли способ как-то стабилизировать анимацию, помимо запуска в одном таймере?

Последний раз редактировалось annie88, 26.10.2015 в 15:52.
Ответить с цитированием
  #4 (permalink)  
Старый 26.10.2015, 16:19
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от annie88
Не могли бы Вы сказать, есть ли способ как-то стабилизировать анимацию, помимо запуска в одном таймере?
Я не вкурсе твоей ситуации...
Ответить с цитированием
  #5 (permalink)  
Старый 26.10.2015, 16:45
Аватар для annie88
Кандидат Javascript-наук
Отправить личное сообщение для annie88 Посмотреть профиль Найти все сообщения от annie88
 
Регистрация: 25.09.2015
Сообщений: 101

действует примерно так, у меня есть функция, запускаемая в рекурсии в setTimeout с периодом 30сек. В этой функции идет смена содержимого одного из блоков на странице. Так же в этой функции я запускаю в setInterval функцию, которая запускает progress bar( это нужно для того чтобы показать сколько будет длиться кадр)
function progressLoad(){//отображение загрузки ( псевдо progress bar)
        var progress = $(document.getElementsByClassName('active-kadr')[document.getElementsByClassName('active-kadr').length-1]).find('.progress_bar');
        if(interest != 100) {
            interest++;
            progress[0].style.width = interest + '%';
                }else{}

    }

Посоветуйте пожалуйста, как можно реализовать данные действия, чтобы анимация действовала синхронно, т.е смена кадра соответствовала окончанию progress bar
Ответить с цитированием
  #6 (permalink)  
Старый 26.10.2015, 19:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

annie88,
всё что вам нужно знать тут https://learn.javascript.ru/js-animation
Ответить с цитированием
  #7 (permalink)  
Старый 27.10.2015, 07:30
Аватар для annie88
Кандидат Javascript-наук
Отправить личное сообщение для annie88 Посмотреть профиль Найти все сообщения от annie88
 
Регистрация: 25.09.2015
Сообщений: 101

Спасибо)))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизация JS WeMeSder Общие вопросы Javascript 0 13.06.2014 23:51
setInterval и глобальные переменные Почемучкин Events/DOM/Window 11 11.08.2012 14:44
один setInterval внутри другого setInterval-а dadli Общие вопросы Javascript 5 20.03.2012 18:16
setTimeout setInterval и др. mycoding Общие вопросы Javascript 6 28.10.2010 17:26
Проблема в document.write при использовании setInterval() GOll Общие вопросы Javascript 21 06.10.2008 17:38