2016-06-01 3 views
0

Привет Все, что я пытаюсь установить предел для каждого шага выполнения в bootstrap 4. Я хочу, чтобы он срабатывал при нажатии.Как установить ограничение на значение - jQuery

Проблема заключается в том, когда когда-либо я нажимаю

значение всегда идет до 100. Как я могу установить максимальное значение для каждой строки прогресса?

Вот код.

<button>run</button> 
<progress class="progress progress-striped progress-animated limit70" value="" max="100"></progress> 
<progress class="progress progress-striped progress-animated limit80" value="" max="100"></progress> 

$('button').on('click', function() { 
    $('.progress').each(function() { 
     var progBar = $(this); 
     var perc = progBar.attr("max"); 
     var userInput = $('input#speed').val(); // in seconds 
     var speed = userInput * 10; 
     var currentPerc = 0; 
     var progress = setInterval(function() { 

      if (currentPerc >= perc) { 
       clearInterval(progress); 

      } else { 
       currentPerc += 1; 
       progBar.attr('value', (currentPerc) + ''); 
      } 
      progBar.attr((currentPerc) + ''); 
     }, speed); 

    }); 
}); 

Вот fiddle

+0

который Progressbar плагин вы использовали? –

+0

не использовал плагин. Я использовал индикатор загрузки Bootstrap 4 только что добавил, что jquery запускает анимацию –

ответ

2

Вы могли бы работать с атрибутом пользовательских данных:

$('button').on('click', function() { 
 
    $('.progress').each(function() { 
 
    var progBar = $(this); 
 
    var perc = progBar.attr("max"); 
 
    var userInput = $('input#speed').val(); // in seconds 
 
    var speed = userInput * 10; 
 
    var currentPerc = 0; 
 
    var limit = progBar.data("limit"); 
 
    var progress = setInterval(function() { 
 

 
     if (currentPerc >= limit) { 
 
     clearInterval(progress); 
 

 
     } else { 
 
     currentPerc += 1; 
 
     progBar.attr('value', (currentPerc) + ''); 
 
     } 
 
     progBar.attr((currentPerc) + ''); 
 
    }, speed); 
 

 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<div class="user-controls"> 
 
    <button>Click to run</button> 
 
</div> 
 

 

 
<progress class="progress progress-striped progress-animated limit70" data-limit="70" value="" max="100"></progress> 
 
<br/> 
 
<progress class="progress progress-striped progress-animated limit80" data-limit="80" value="" max="100"></progress>

Изменено скрипку: https://jsfiddle.net/csmrtrvg/2/

+0

Это сделало трюк! : D я был так сосредоточен на атрибуте value. да data-limit ftw! Спасибо дружище. Приветствуем приветствия! : D –

+0

Да, я ждал окончания охлаждения: D –

 Смежные вопросы

  • Нет связанных вопросов^_^