首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试使nr限制为1-10,但提示允许用户选择13

尝试使nr限制为1-10,但提示允许用户选择13
EN

Stack Overflow用户
提问于 2018-11-22 15:37:34
回答 2查看 28关注 0票数 0

因此,我正在尝试制作一个滴答系统,用户可以从1-10中选择一个数字,然后从用户选择的数字开始倒计时到0。问题是,当用户在提示中选择数字12时,它不允许他/她继续,但当他们再次尝试时,它允许他们继续。

html:

代码语言:javascript
运行
复制
 <button onclick=start()>Countdown</button>
   <p id="p">

源码:

代码语言:javascript
运行
复制
<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>
EN

回答 2

Stack Overflow用户

发布于 2018-11-22 15:44:18

直到你没有得到1- 10之间的任何数字,你可以尝试再次调用相同的方法,如下所示:

代码语言:javascript
运行
复制
<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>
票数 0
EN

Stack Overflow用户

发布于 2018-11-22 15:57:27

解决方案很简单。当您第一次输入大于11的值时,if (ticks > 11) {语句会捕获该值,然后显示新的提示。如果再次输入大于11的值,则没有If语句来捕获它。如果在输入错误值时再次运行start函数,则可以解决此问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53425980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档