Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 引导进度条计时器_Javascript_Angularjs_Twitter Bootstrap 3_Progress Bar - Fatal编程技术网

Javascript 引导进度条计时器

Javascript 引导进度条计时器,javascript,angularjs,twitter-bootstrap-3,progress-bar,Javascript,Angularjs,Twitter Bootstrap 3,Progress Bar,首先,您好,我正在使用Angular.js、Bootstrap、HTML和JavaScript(obv-2) 因此,我的应用程序中有以下引导进度条: <div class="progress"> <div id="theBar" class="progress-bar progress-bar-info progress-bar-striped active" role="progressbar" aria-valuenow="60" aria-valuemin="0"

首先,您好,我正在使用Angular.js、Bootstrap、HTML和JavaScript(obv-2)

因此,我的应用程序中有以下引导进度条:

<div class="progress">
    <div id="theBar" class="progress-bar progress-bar-info progress-bar-striped active" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%">
        60%
    </div>
</div>

60%
现在,我希望它从100%减少到0%(每个百分比为1秒),关键是要用它制作一个计时器,在它达到零后,用户不能再执行指定的操作。我真的不知道该怎么做,或者如果可以使用bootstraps进度条,请提前向您表示感谢和问候。

以下是一个示例:

// Code goes here
var i = 100;

var counterBack = setInterval(function () {
  i--;
  if (i > 0) {
    $('.progress-bar').css('width', i + '%');
  } else {
    clearInterval(counterBack);
  }

}, 1000);
//代码在这里
var i=100;
var counterBack=setInterval(函数(){
我--;
如果(i>0){
$('.progress bar').css('width',i+'%');
}否则{
间隙(反向);
}
}, 1000);

你好,window.setInterval!

Shershen使用JavaScript,例如

document.getElementById("theBar").style.width = "80%";
document.getElementById("theBar").innerHTML = "80%";
你的酒吧会增加到80%

您可以使用这种方法构建一个每秒增加1%的函数

更新的解决方案

<script>
var i = 100;

var counterBack = setInterval(function(){
i--;
if(i>0){
    document.getElementById("theBar").style.width = i+1+"%";
    document.getElementById("theBar").innerHTML = i+1+"%";
} else {
   clearTimeout(counterBack);
}

}, 1000);
</script>

var i=100;
var counterBack=setInterval(函数(){
我--;
如果(i>0){
document.getElementById(“theBar”).style.width=i+1+“%”;
document.getElementById(“theBar”).innerHTML=i+1+“%”;
}否则{
清除超时(反向);
}
}, 1000);

循环代码取自shershen的答案。

此解决方案需要ui引导,计时器以秒为单位工作:

Html:


Angularjs:

var app = angular.module('demoApp', ['ui.bootstrap']).controller('demoCtrl', function ($scope, $interval) {
$scope.timer = 15;
$scope.max = 15;

var countDown = $interval(function () {
    $scope.timer--;
    if ($scope.timer <= 0) {
        $interval.cancel(countDown);
        //TO DO
    }        
}, 1000);});   
var-app=angular.module('demoApp',['ui.bootstrap']).controller('demoCtrl',function($scope,$interval){
$scope.timer=15;
$scope.max=15;
变量倒计时=$interval(函数(){
$scope.timer--;

如果($scope.timer,我可能有点误读了消息,但是是的,你的问题可以用这种方法解决。我必须每次键入100次。我仍然不知道如何每秒更改它,但是,它是k,我们都会出错;)我并没有说这是一个完整的解决方案:D但是如果你喜欢别人为你做的事情,你可以使用与另一个人建议的相同的方法,所以我的代码看起来是这样的。请参阅更新的答案。我试图将这两种解决方案结合起来,但遇到了问题,因为显然我不能增加
getElementByID 因为它是一个字符串。是的,我的代码是由另一个人完成的,但现在我永远都会得到这段信息,无论何时我需要它,我都会带着它,并且知道如何继续,或者在原始状态下实现它,或者根据需要进行更改。看,这是我的想法,基本上是这样,但不知道如何循环它。a我刚发现你给我的第一个答案太多了,这就是我为什么一开始就抱怨的原因。
var app = angular.module('demoApp', ['ui.bootstrap']).controller('demoCtrl', function ($scope, $interval) {
$scope.timer = 15;
$scope.max = 15;

var countDown = $interval(function () {
    $scope.timer--;
    if ($scope.timer <= 0) {
        $interval.cancel(countDown);
        //TO DO
    }        
}, 1000);});