Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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_Angularjs Scope - Fatal编程技术网

Javascript 按钮倒计时启用

Javascript 按钮倒计时启用,javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,我在一个有倒计时功能的模式中有一个按钮,一开始它是禁用的(是真的),但倒计时后它会变为禁用 如果我让按钮倒计时一直到最后,然后我再次测试它(关闭我的模式并再次打开),它会再次开始倒计时,到目前为止它工作正常 但它有一个奇怪的错误 如果在倒计时的中间,我关闭模态,然后再打开它,我的倒计时重新启动,但它会一直到倒计时结束,它不通过所有的数字。< /P> 这是我的密码: html: 等待{{wizardCtrl.message}}秒 控制器: vm.unblock = true; functio

我在一个有倒计时功能的模式中有一个按钮,一开始它是禁用的(是真的),但倒计时后它会变为禁用

如果我让按钮倒计时一直到最后,然后我再次测试它(关闭我的模式并再次打开),它会再次开始倒计时,到目前为止它工作正常

但它有一个奇怪的错误

如果在倒计时的中间,我关闭模态,然后再打开它,我的倒计时重新启动,但它会一直到倒计时结束,它不通过所有的数字。< /P> 这是我的密码:

html:


等待{{wizardCtrl.message}}秒
控制器:

vm.unblock = true;

function unblockButton() {
    debugger;
    vm.c = 5;
    vm.message = vm.c;

    var timer = $interval(function() {

        vm.message = vm.c;
        vm.c--;

        if(vm.c<0) {
            $interval.cancel(timer);
            vm.unblock = false;
            angular.element('#btn-unblock').text("Desbloquear e Ver");
            vm.btn = "btn-green";
        }

    }, 1000);
}
vm.unblock=true;
函数按钮(){
调试器;
vm.c=5;
vm.message=vm.c;
变量计时器=$interval(函数(){
vm.message=vm.c;
vm.c--;

如果(vm.c关闭模式时,还应中止间隔。再次打开模式时,间隔仍在运行,因此会影响第二个模式。或者,检查间隔是否已设置,并在打开前清除间隔。

关闭模式时,还应中止间隔。再次打开模式时,间隔仍在运行,因此,它将影响第二种模式。或者,检查是否设置了间隔,并在打开之前清除间隔。

启动计时器之前,需要重置计时器和按钮

vm.unblock = true;

// Make your timer variable global
var timer = null;

function unblockButton() {
    debugger;
    vm.c = 5;
    vm.message = vm.c;

    // Clear old timer
    $interval.cancel(timer);

    // Block the button
    vm.unblock = true; // Check this part of code...
    vm.btn = "btn-red"; // This too...

    // Start new timer
    timer = $interval(function() {

        vm.message = vm.c;
        vm.c--;

        if(vm.c<0) {
            $interval.cancel(timer);
            vm.unblock = false;
            angular.element('#btn-unblock').text("Desbloquear e Ver");
            vm.btn = "btn-green";
        }

    }, 1000);
}
vm.unblock=true;
//使您的计时器变量为全局变量
var定时器=null;
函数按钮(){
调试器;
vm.c=5;
vm.message=vm.c;
//清白的老家伙
$interval.cancel(计时器);
//阻止按钮
vm.unblock=true;//检查这部分代码。。。
vm.btn=“btn red”;//这也是。。。
//启动新计时器
计时器=$interval(函数(){
vm.message=vm.c;
vm.c--;

如果(vm.c您需要在启动计时器之前重置计时器和按钮

vm.unblock = true;

// Make your timer variable global
var timer = null;

function unblockButton() {
    debugger;
    vm.c = 5;
    vm.message = vm.c;

    // Clear old timer
    $interval.cancel(timer);

    // Block the button
    vm.unblock = true; // Check this part of code...
    vm.btn = "btn-red"; // This too...

    // Start new timer
    timer = $interval(function() {

        vm.message = vm.c;
        vm.c--;

        if(vm.c<0) {
            $interval.cancel(timer);
            vm.unblock = false;
            angular.element('#btn-unblock').text("Desbloquear e Ver");
            vm.btn = "btn-green";
        }

    }, 1000);
}
vm.unblock=true;
//使您的计时器变量为全局变量
var定时器=null;
函数按钮(){
调试器;
vm.c=5;
vm.message=vm.c;
//清白的老家伙
$interval.cancel(计时器);
//阻止按钮
vm.unblock=true;//检查这部分代码。。。
vm.btn=“btn red”;//这也是。。。
//启动新计时器
计时器=$interval(函数(){
vm.message=vm.c;
vm.c--;

如果(vm.cYou)键入“
开始时它被禁用(为true),但在倒计时后它将变为禁用。
”是否属于那些被禁用的
中的一个
应该是
启用的
?您键入“
开始时它被禁用(为true),但倒计时后它将变为禁用。
”其中一个
被禁用
应该是
启用
?您的右侧,在我的关闭按钮模式中,我将其设置为$interval.cancel(vm.timer);您的右侧,在我的关闭按钮模式中,我将其设置为$interval.cancel(vm.timer);