Javascript 如何获取setTimeout以从输入读取值? 倒计时

Javascript 如何获取setTimeout以从输入读取值? 倒计时,javascript,Javascript,var t=document.getElementById('number').value; 函数倒计时(){ setTimeout(函数(){alert(“hi!”;},t); } 我想要setTimeout获取变量t。变量t将获得input标记中的任何4位数字&当您按下按钮时,它将开始减法。但是,当我尝试按下按钮时,它不会这样做。 代码有问题吗?或者,不是这样做的吗?主要问题:调用函数时,需要读取函数内部的输入值: var t = document.getElementById('nu

var t=document.getElementById('number').value;
函数倒计时(){
setTimeout(函数(){alert(“hi!”;},t);
}
我想要
setTimeout
获取变量
t
。变量
t
将获得
input
标记中的任何4位数字&当您按下按钮时,它将开始减法。但是,当我尝试按下按钮时,它不会这样做。
代码有问题吗?或者,不是这样做的吗?

主要问题:调用函数时,需要读取函数内部的输入值:

  var t = document.getElementById('number').value;
function countdown() {
    setTimeout(function(){alert("hi!");}, t);
}
</script>
变量
t
在页面加载时初始化,并且在输入值更改时不会自动更新。从输入中读取新值是您的责任


还有一件事(这可能只是一个输入错误),但是是的,属性应该是
onclick

如果您的按钮中出现了输入错误,那么应该是
倒计时
您有两个错误,首先将
onlick
更改为
onclick
,并将
t
变量添加到函数
countdown
,因为您需要在单击后获取值,但在您的示例中,变量将为空

function countdown() {
    var t = document.getElementById('number').value;
    setTimeout(function(){alert("hi!");}, t);
}

您也可以清除超时,以便在单击后启动新的计时器,如下所示

function countdown() {
    var t = document.getElementById('number').value;
    setTimeout(function(){alert("hi!");}, t);
}

定义超时指针

var timer;
function countdown() {
    var t = document.getElementById('number').value;
    clearTimeout(timer);
    timer = setTimeout(function(){alert("hi!");}, t);
}
重置先前调用但未完成倒计时(超时)

创建新超时

    if(window.hTimeOut!=null) clearTimeout(window.hTimeOut);
完成后重置超时指针

    window.hTimeOut = setTimeout(function(){
            alert("hi!");
并将新的时间价值传递给它

            window.hTimeOut!=null;

“它将开始减法”什么将开始减法?
input
标记的值是多少。无论input标记中的值是什么,除了一段代码外,还包括一些对您所做更改的解释通常是有帮助的。@JamesMontagne:added=)
    window.hTimeOut = setTimeout(function(){
            alert("hi!");
            window.hTimeOut!=null;
    }, document.getElementById('number').value);
}