Закрыть индикатор выполнения Bootstrap при заполнении на 100% - PullRequest
0 голосов
/ 12 октября 2018

Я делаю цикл while, чтобы заполнить индикатор выполнения Bootstrap с 0 до 100.

Это работает, однако я хочу скрыть индикатор выполнения, когда он достигает 100%полный.Я безуспешно пытался использовать setTimeOut.

Несмотря на то, что цикл while с 0-100 можно выполнить за микросекунду, полоса по-прежнему постепенно увеличивается.

var i = 0;
while(i <= 100){
  $('#progress').attr('aria-valuenow', i).css('width', i + '%');
  i++;
}
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">

<div class="progress">
  <div id="progress" class="progress-bar progress-bar-animated" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
</div>

1 Ответ

0 голосов
/ 12 октября 2018

Все сделано.Нет Bootstrap делает это намного проще.

updateProgress(0);

function updateProgress(i) {
  setTimeout(function() {
    if (i <= 100) {
      $('#progress').width(i + '%'); 
      i++;
      updateProgress(i);
    } else {
     $('#progress').hide();
     $('#progress').width('1%');  
    }
  }, 4);
}
#progress {
  background-color: #007bff;
  height: 3px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 1%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="progress"></div>
...