我对编程很陌生。
对于一个学校项目,我试图设置一个setTimeout((;功能。这是我的代码:
let header = document.getElementById('header');
let input = document.getElementById('input');
let btn = document.getElementsByTagName('div')[1];
let response1 = document.getElementById('response1');
function playSound() {
setTimeout(function () {
var x = document.getElementById("myAudio")
x.play()
}, 3000); //input.value?? or 1000 * input.value??
}
通常,如果我想访问输入框中的用户输入,我会键入input.value。但是,setTimeout函数不将input.value识别为可以设置为用作倒计时的参数。我不知道该怎么办。
如有任何帮助,我们将不胜感激。
setTimeout
函数不将input.value
识别为可设置为用作倒计时的参数
它可以识别它。如果你遇到错误,那么你的输入很可能是文本输入,在这种情况下,你必须将其值转换为数字,然后才能在setTimeout
:中使用它
let header = document.getElementById('header');
let input = document.getElementById('input');
let btn = document.getElementsByTagName('div')[1];
let response1 = document.getElementById('response1');
function playSound() {
setTimeout(function () {
var x = document.getElementById("myAudio")
x.play()
}, Number(input.value));
}
如果输入的值以秒为单位,请使用input.value * 1000
。
要动态执行setInterval,需要调用函数而不是输入文本:
- 创建函数
startInterval
- 如果输入文本具有输入值,则调用函数
onChangeInterval
<script>
var intervalId;
function startInterval(_interval) {
intervalId = setInterval(function() {
}, _interval);
}
function onChangeInterval (interval) {
interval -= 100;
clearInterval(intervalId);
startInterval(interval);
}
</script>