Показать сообщение отдельно
  #1 (permalink)  
Старый 15.01.2015, 02:10
Новичок на форуме
Отправить личное сообщение для massimo_pazzi Посмотреть профиль Найти все сообщения от massimo_pazzi
 
Регистрация: 15.01.2015
Сообщений: 1

Прогресс бар. Что поменять?
Доброго времени суток.

Есть прогресс бар, который "якобы" проверяет файл.
Задача прогресс бара - по ходу "проверки" файла выводить кол-во "ошибок", содержащихся в файле.

Возникла необходимость сделать так, чтобы вместо "ошибок", брогрес бар выводил бы любой редактируемый текст, который сменяет друг друга по ходу прогресса. Например "загрузка файла" после него "открытие файла" после него "проверка заголовков" и т.п. Причем количество таких надписей должно быть равно кол-ву временных интервалов times =

Я чайник, делаю первые шаги в html css и java. В принципе, я разобрался какой блок кода за что отвечает, но вот что нужно заменить, чтобы получилось то, что указано выше - хз.

Прошу подсказать, что нужно сделать.
Буду весьма благодарен.

Ниже приведен код прогресс бара:
<script>
			
			var form = document.getElementById('analyze-form');
			
			form.onsubmit = function() {

				form.style.display='none';
				
				var 
					link = form.action,	
					newElem = document.createElement ("div"),
					container = document.getElementById ("analyze");
				
				newElem.setAttribute("id", "analyzer");
				newElem.innerHTML = '<p>Экспресс-анализ вашего документа&hellip;</p><div id="analyzer-wrap"><div id="progressbar"></div></div><p id="analyzer-errors"><span>errors</span> found&hellip;</p>';-
				container.appendChild (newElem);

				analize(link,9.5);	

				return false;
				
			};

			function analize(link,time){

 
				var 
					xx = false,
					percent = 0.0, 
					errors = 0,
					i = 0,
					j = 0,	
					jj = 0,
					k = 0,
					bar = document.getElementById('progressbar'),
					aa  = document.getElementById('analyzer-errors'),
					times = [5*time,15*time,5*time,15*time,5*time,3*time,3*time,20*time,10*time,15*time,10*time,5*time];
					
				times.sort(function() {
					return .2 - Math.random();
				});

					
				var progress = setInterval(function() {
				
						if( ++i < 25*time || ( i > 50*time && i < 85*time ) || i > 135*time ){
							percent = Math.round( (percent+1/time) * 10 ) / 10;
							j++;
							bar.style.width = percent+'%';	

							if( xx && errors < 11 && j>=jj ){
							
								errors++;
								jj += times[k++]*time/11;
								text = (errors > 1) ? "errors" : "error";
								aa.innerHTML = errors+" "+text+" found&hellip;";
								
							}

						}
						
						if( !xx && i > 40 ){
							xx= true;
							jj =j;
							aa.classList.remove("hide");
							
						}

						if ( percent >= 100 ) {
									
							clearInterval(progress);
							
							form.method = 'post';
							form.action = link;
							form.submit();
							
						}
						
					}, 5);
										
			};
					   
			</script>
Ответить с цитированием