javascript - 试图使 nr 限制为 1-10,但提示允许用户选择 13
问题描述
所以我正在尝试制作一个刻度系统,其中 ia 用户可以从 1-10 中选择一个数字,并且将从用户选择的数字开始倒计时到 0。问题是当用户在提示中选择数字 12 时,它不允许他/她继续,但是当他们再次尝试时,它允许他们。
html:
<button onclick=start()>Countdown</button>
<p id="p">
脚本:
<script>
var ticks;
var mytimer;
function start() {
ticks = Number(prompt("where do you want to start a countdown, min 1 max 10")) + 1;
if (ticks > 11) {
ticks = Number(prompt("Skriv inn på nytt, tallet må være mellom 3-10")) + 1;
}
else if (ticks < 1) {
ticks = Number(prompt("Try again, The number must be between 1-10")) + 1;
}
mytimer = setInterval(tick, 1000)
}
function tick() {
ticks--;
document.getElementById("p").innerHTML = "Tick nr. " + ticks + "<br />";
if (ticks === 1) {
clearInterval(mytimer);
document.write("Done!");
}
}
</script>
解决方案
直到你没有得到 1 - 10 之间的任何数字,你可以尝试再次调用相同的方法,如下所示:
<script>
var ticks;
var mytimer;
function start() {
ticks = Number(prompt("where do you want to start a countdown, min 1 max 10")) + 1;
if (ticks > 10) {
start();
}
else if (ticks < 1) {
start();
}
mytimer = setInterval(tick, 1000)
}
function tick() {
ticks--;
document.getElementById("p").innerHTML = "Tick nr. " + ticks + "<br />";
if (ticks === 1) {
clearInterval(mytimer);
document.write("Done!");
}
}
</script>
推荐阅读
- http - Sharepoint:底层连接已关闭:发送时发生意外错误。但并非总是
- c# - 如何获取存储在 Xamarin 首选项中的所有首选项?
- ruby-on-rails - 将表上的列引用到另一个表上的列 Ruby on Rails
- sqlite - 访问 SQLite 查询的抽象语法树 (AST)
- reactjs - RN FastImage react-native-fast-image 失败并出现错误“Generatedappglidemodule impl 实施不正确”
- java - oAuth2 - 具有相同用户凭据的多个令牌
- amazon-web-services - 列出 aws 帐户的所有区域中存在的所有队列的所有 SQS 订阅
- python - 使用参考列表对多索引数据帧进行排序
- omnet++ - 定义数组门中的 ++ 符号应用
- python - 如何避免机器人检测并使用 python 抓取网站?