Javascript函数内部的函数不工作
javascript function inside function not working
我有一个定时器脚本,我希望用户能够设置的时间量。它在加载脚本时工作,当页面加载并将计时器设置为默认值时,但是当我创建一个输入变量和一个按钮来调用该函数时,它不起作用。"外部"函数工作,但是我从工作版本复制并粘贴到函数中的代码没有。似乎内部计时器函数从未被调用,即使'var countdownTimer = setInterval('secondPassed()', 1000);'是在外部函数的末尾。我已经花了几个小时修理它,我希望有更有经验的人来检查一下。下面是代码:
<script type="text/javascript">
function startTimer() {
var seconds = parseInt(document.getElementById("time").value);
document.getElementById('countdown').innerHTML = seconds;
function secondPassed() {
document.write(Date());
var minutes = Math.round((seconds - 30)/60);
var remainingSeconds = seconds % 60;
if (remainingSeconds < 10) {
remainingSeconds = "0" + remainingSeconds;
}
document.getElementById('countdown').innerHTML = minutes + ":" + remainingSeconds;
if (seconds == 0) {
clearInterval(countdownTimer);
document.getElementById('countdown').innerHTML = "Buzz Buzz";
} else {
seconds--;
}
}
var countdownTimer = setInterval('secondPassed()', 1000);
}
</script>
<input id="time" type="number">
<input type="button" value="Set Timer" onClick="startTimer()">
<span id="countdown" class="timer">Timer: </span>
</body>
的"Timer: "文本被替换为seconds变量的值,但只是因为在定义内部函数之前的那一行。Date()不打印在内部函数
您将字符串传递给setTimeout
,因此它得到eval
计算并且范围被打破。只向setTimeout
传递函数
var countdownTimer = setInterval(secondPassed, 1000);
相关文章:
- onmouseout函数工作不正常
- 我无法使onmouseout函数工作
- Javascript”;结束”;函数工作不稳定
- HTML JavaScript,我如何能够通过给每个元素一个不同的Id来使用JavaScript使这个函数工作
- Javascript:onclick函数工作一次,页面就会恢复到原来的状态
- jQuery toggle()函数工作不正常
- Node.js npm opn-can't使回调函数工作
- 添加两个数字的JavaScript函数工作不正常
- 调用在Jquery中未作为链接函数工作
- 将PHP变量传递给Javascript不能通过PHP函数工作(与全局变量无关)
- 为什么我需要在 javascript 函数工作之前按提交按钮 2 次
- 使 JavaScript 函数工作时遇到麻烦
- 如何使 clearInterval 函数工作
- 如何使 then 函数工作
- 如何让我的包含函数工作
- Promise.all 不应该作为传递给 .then 的函数工作
- 我无法让它作为 JavaScript 函数工作(我在控制台时得到我想要的返回值.log但我不能将其作为函数调用)
- JavaScript on change 函数工作得不好
- jquery next()函数工作不正常
- Jquery hasClass()函数工作不正常