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

Javascript:如何立即禁用按钮?

Javascript:如何立即禁用按钮?,javascript,jquery,html,css,dom,Javascript,Jquery,Html,Css,Dom,攻击=攻击按钮 当我运行此代码(单击按钮)时,禁用按钮大约需要1秒。如何将此设置为立即禁用?我想这是因为1000毫秒的定时器,但我不确定 var disabledStartTimer = setInterval(disabledTimer, 1000); var start = 0; function disabledTimer() { if (start > 5){ clearInterval(disabledStartTimer); cons

攻击=攻击按钮

当我运行此代码(单击按钮)时,禁用按钮大约需要1秒。如何将此设置为立即禁用?我想这是因为1000毫秒的定时器,但我不确定

var disabledStartTimer = setInterval(disabledTimer, 1000);
var start = 0;

function disabledTimer() { 
    if (start > 5){
        clearInterval(disabledStartTimer);
        console.log("disabled timer stopped");
        blitz.disabled = false;
    }
    else {
        blitz.disabled = true;
        start++;
    };
}

是的,这是因为1000毫秒的计时器。如果将其设置为10,则需要10毫秒才能禁用。如果需要禁用启动,请将
blitz.disabled=true
代码移出间隔回调:

var disabledStartTimer = setInterval(disabledTimer, 1000);
var start = 1;  // set to 1 to maintain consistency (i.e. call blitz.disabled = true the same amount of times as the original code.

blitz.disabled = true;

function disabledTimer() { 

    if (start > 5) {
        clearInterval(disabledStartTimer);
        console.log("disabled timer stopped");
        blitz.disabled = false;
    }
    else {
        blitz.disabled = true;
        start++;
    }
}
如果您需要执行更复杂的操作,而这段代码只是一个示例,那么您可以将复杂语句包装在函数中,并在时间间隔内外调用它:

var disabledStartTimer = setInterval(disabledTimer, 1000);
var start = 1; // set to 1 to maintain consistency (i.e. call blitz.disabled = true the same amount of times as the original code.

function disableBlitz() {
    blitz.disabled = true;
}

disableBlitz();

function disabledTimer() { 

    if (start > 5) {
        clearInterval(disabledStartTimer);
        console.log("disabled timer stopped");
        blitz.disabled = false;
    }
    else {
        disableBlitz();
        start++;
    }
}
将计时器设置为0

var disabledStartTimer = setInterval(disabledTimer, 0);
或者干脆打电话

disabledTimer();
设置此选项:

var disabledStartTimer = setInterval(disabledTimer, 1000); // 1 sec
为此:

var disabledStartTimer = setInterval(disabledTimer, 0); // 0 sec

因为这里的时间是以毫秒计的。您可以肯定这一点,这确实是因为
setInterval

你不能用
1000
替换来测试它吗?循环的目的是什么?你想让它在启动为5时停止吗?因为你现在是怎么拥有它的,它直到6点才停止。呵呵!对不起