2016-12-30 68 views
1

我正在做一个简单的游戏,它会生成随机数并且用户必须输入一个值,如果用户的值与生成的随机值相匹配,用户基本上会胜出,这是一个初学者项目。我想制作一个小型计数器,以便用户在有限的时间内输入数值,并且我希望有限的时间在标签上显示在屏幕上。假设你必须把这个值设置在30秒以下,计时器每秒钟会从1到30次计数。从1到30的计数将在标签中每秒更新一次。这是我现在正努力工作的逻辑,我无法想出任何其他方式......如果我在代码中犯了一些错误,请发表评论,或者如果您有更简单的方法,请在下面将其发布。 (请不要在帐户被暂停的威胁否决IM) 继承人我的计时器代码部分:如何在Javascript中制作一个非常简单的倒数计时器?

if(timer <= 30) 
    { 
     for(var i = 0;i >= 30;i++) 
     { 
      setInterval(null,1000); 
      timer++; 
      document.getElementById("counter").innerHTML = timer+" seconds wasted"; 
     } 
     alert("Time is over, you lost by "+s); 
    } 
+0

我创造了一个[计时器 - 小提琴(http://jsfiddle.net/RajeshDixit/0gvfc5yy/12/)。您可以使用它作为参考 – Rajesh

+0

如果您有可能会禁止您的帐户,那么需要反复询问蹩脚问题。不要求我们不要低估。只需写出值得提升的问题。 :P – cHao

+0

@cHao我不是任何编程亲哈哈哈我只是13我不能这么做:P –

回答

0

您可以创建一个递归函数。 说var countDown function(){ time = time--; setTimeout(countDown, 1000);}

然后,你需要一个变量时间,可访问的countDown函数。 var time = 30;

在countDown函数中,您可以创建一个updateTimeElement。

试一试。

0

的setInterval函数有两个参数,一个回调(在JavaScript这就是一个anomynous功能触发)和间隔的每个触发之间的毫秒数。

你正在做在你的脚本是什么使无事可做每一秒的时间间隔(运行无限期地),然后递增定时器整数和更新DOM。但是,这一切都在几秒钟内执行。

我建议(在使用函数之前)查看文档以了解如何改进脚本以使其能够按照您的意图工作;-)以下链接可帮助您开始:

http://www.w3schools.com/js/js_timing.asp https://www.sitepoint.com/build-javascript-countdown-timer-no-dependencies/

我不会做你的工作,因为这是一个很好的锻炼对于一个初学者程序员;-)

如果你不能弄清楚,留下低于这个评论回答,如果您需要进一步的帮助,我会尽快回复您。