如何获得设置超时以从输入中读取值
How do I get setTimeout to read the value from the INPUT?
<input type="number" id="number">
<button onlcick="countdown()">COUNTDOWN</button>
var t = document.getElementById('number').value;
function countdown() {
setTimeout(function(){alert("hi!");}, t);
}
</script>
我想setTimeout
获得可变t
.可变t
将获取input
标签中的任何4位数字,当您按下按钮时,它将开始减去。但是,当我尝试按下按钮时,它不会这样做。代码有问题吗?或者,这不是你的做法吗?
你有 2 个错误,首先将onlcick
更改为 onclick
,然后将t
变量添加到函数countdown
,因为您需要在单击后获取值,但在您的示例中变量将为空
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);
}
例
主要问题:调用函数时,您需要读取函数内部的输入值:
function countdown() {
var t = document.getElementById('number').value;
setTimeout(function(){alert("hi!");}, t);
}
变量t
在页面加载时初始化,当输入值更改时不会自动更新。这是您从输入中读取新值的责任。
还有一件事(可能只是一个错字(,但是是的,属性应该是onclick
的。
您的按钮中似乎有拼写错误,应该<button onclick="countdown()">COUNTDOWN</button>
定义超时指针
window.hTimeOut = null;
function countdown() {
重置以前调用但未完成的倒计时(超时(
if(window.hTimeOut!=null) clearTimeout(window.hTimeOut);
创建新的超时
window.hTimeOut = setTimeout(function(){
alert("hi!");
完成后重置超时指针
window.hTimeOut!=null;
并将新的时间价值传递给它
}, document.getElementById('number').value);
}
相关文章:
- 如何读取表单中的输入数据
- 正在从blur上的输入框中读取
- 以字符串形式读取量角器测试中的更新输入
- 如何存储&读取输入字段中的任意url
- 如何在不使用任何 html 输入/搜索元素的情况下读取本地客户端文本文件
- 显示范围输入的值"无法读取属性'值'“为空”;
- 从输入中读取并将其内容作为输出进行管道传输
- 如何获得设置超时以从输入中读取值
- PHP只读取动态创建的输入数组的第一个值
- 从按钮读取文本并输入并运行
- Shiny中未读取的自动填充输入
- 使用 javascript 读取 HTML5 输入单选标记
- 如何在JavaScript中读取测试输入文件
- 尝试复制粘贴输入字段的值时:无法读取属性'nodeType'的未定义
- 读取颜色的输入
- 读取输入和打印变量 - JavaScript 和 HTML 4.01
- 如何在jquery中读取输入二维数组值
- 从 html 读取输入电子邮件地址并在 JSP 脚本中使用
- 使用 Java 脚本读取 HTML 表中输入标记中的值
- 如何在数组的元素之间插入空格,该数组作为 HTML 表单的输入读取