我的问题如下:
Very simple javascript doesn't work at all
但在我的情况下,答案没有帮助。
在JS小提琴中它确实有效,但是当我复制JS小提琴结果框架的源代码时,它不再起作用了(在我的服务器/计算机上)。
我的代码(简化):
<!DOCTYPE html>
<html>
<head>
<title>Stack Overflow</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
<p id="countdown2"></p>
<script>
function countdown(element, minutes, seconds) {
var time = minutes*60 + seconds;
var interval = setInterval(function() {
var el = document.getElementById("countdown2");
if(time == 0) {
el.innerHTML = "countdown's over!";
clearInterval(interval);
return;
}
var minutes = Number.floor( time / 60 );
if (minutes < 10) minutes = "0" + minutes;
var seconds = time % 60;
if (seconds < 10) seconds = "0" + seconds;
var text = minutes + ':' + seconds;
el.innerHTML = text;
time--;
}, 1000);
}
countdown("countdown2", 9, 23);
</script>
</body>
</html>
在这个JS小提琴中,它有效。 http://jsfiddle.net/Apnu2/374/
我简化的在线页面:
http://biefstuk.org/mc/faal.html
我现在已经工作了一个多小时......
答案 0 :(得分:2)
你的小提琴加载了MooTools,但你的页面没有。
变化:
var minutes = Number.floor( time / 60 );
到
var minutes = Math.floor( time / 60 );
并使用普通JS。
<强> jsFiddle example 强>
答案 1 :(得分:1)
Number
没有方法floor
。请改用Math
Math.floor( time / 60 );
答案 2 :(得分:0)
您的jsFiddle加载MooTools,它使用floor方法扩展本机Number对象。
您的代码没有,因此您的代码在尝试调用Number.floor时会遇到错误。请改用Math.floor。
好吧,并在定义后调用countDown。