Javascript 计时器无法正常工作
Javascript Timer Not Functioning Correctly
我目前有一个无法正常工作的javascript计时器。单击启动计时器按钮后,应启动两分钟计时器。这是我的代码
.HTML
<div id="countdown"></div>
<div id="notifier"></div>
<input type="button" onclick="startTimer()" value="Start Timer">
.JS
function startTimer() {
userInput = 120;
if(userInput.length == 0){
alert("Please enter a value");
} else {
var numericExpression = /^[0-9]+$/;
function display( notifier, str ) {
document.getElementById(notifier).innerHTML = str;
}
function toMinuteAndSecond( x ) {
return Math.floor(x/60) + ":" + x%60;
}
function setTimer( remain, actions ) {
(function countdown() {
display("countdown", toMinuteAndSecond(remain));
actions[remain] && actions[remain]();
(remain -= 1) >= 0 && setTimeout(arguments.callee, 1000);
})();
}
setTimer(userInput, {
60: function () { display("notifier", "1 Minute Remaining"); },
30: function () { display("notifier", "30 Seconds Remaining"); },
1: function () { display("notifier", " "); },
0: function () { alert( "Time Is Up. Please Sumbit Vote."); }
});
}
}
这是一个小提琴 http://jsfiddle.net/grahamwalsh/8mmqxsto/
当你在 html 上定义内联事件处理程序时,你必须确保你的 js 是提前加载的(就在 dom 加载之前):
<html>
<head>
<script src="yourScript.js"></script>
</head>
<body>
<input type="button" onclick="startTimer()" value="Start Timer">
</body>
</html>
在您的小提琴中,将其配置为加载<head>
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- 最大高度转换不;不工作,工作缓慢
- Gulp-rev:不是第一次工作,而是在第一次工作之后工作
- JQuery - Ajax: encodeUriComponent不工作(EncodeUri工作)