То, что я хочу сделать, в основном состоит в том, что индикатор выполнения переходит от значения 1-100 за одну секунду. Это не зависит от фактического состояния процесса.
Это мои усилия до сих пор, я не понимаю, почему это не имеет никакого эффекта.
<progress id="progBar" value="0" max="100"> </progress>
setInterval(function(){
var pb = document.getElementById("progBar");
if (pb.value < 100){
pb.value = pb.value + 1;
}
},10);
Любые идеи о том, как достичь этого?
Я бы рекомендовал использовать в основном CSS для этого.
div.progress-bar
{
/* Your style attributes */
transition: width 1s;
-ms-transition: width 1s;
-o-transition: width 1s;
-webkit-transition: width 1s;
-moz-transition: width 1s;
}
Затем в вашем javascript установите ширину так, как хотите. Например (используя jQuery):
$('div.progress-bar').width('100%');
CSS будет анимировать его автоматически.
Если вы хотите поддерживать старые браузеры (т.е. <Internet Explorer 10), вам придется сделать это в JavaScript. Я бы порекомендовал jQuery для этого, поскольку он обрабатывал для вас:
$('div.progress-bar').animate({width: "100%"}, 1000);
Если вам не нужна более старая поддержка браузера, просто придерживайтесь способа использования CSS. jQuery по-прежнему будет использовать JavaScript для анимации, даже если поддержка анимации CSS доступна.