我制作了这个计时器脚本,但我似乎无法做到这一点,所以我开始onclick。
以下是我的全部代码:
<script type="text/javascript">
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(20, {
20: function () {
display("notifier", "seconds");
},
1: function () {
display("notifier", "second");
},
0: function () {
display("notifier", "seconds");
}
}
);
</script>
<!--Start Redirect Countdown-->
<div id="redirect_box" style="display:block;">
Redirecting in <span id="countdown"></span> <span id="notifier"></span>
</div>
<!--End Redirect Countdown-->
<div id="buttonn">Skip >></div>
跳过&gt;&gt;假设是启动计时器和ID的按钮,倒计时是实际的倒计时。并且,通知程序只是一个额外的ID。 我希望有人可以提供帮助
答案 0 :(得分:2)
答案 1 :(得分:0)
首先,这个:
<div id="buttonn">Skip >></div>
应该是这样的:
<div id="buttonn">Skip >></div>
其次,将Skip按钮连接到计时器的代码在哪里?我在你的问题中没有看到它。如果它丢失了,那么按钮div就没有单击处理程序,所以这就是为什么没有开始的原因。
第三,我也想知道你的名字是"buttonn"
,最后有两个n?如果这是一个错字,它也可以解释为什么你的事件处理程序没有被连接起来。
答案 2 :(得分:0)
您不应使用数字文字创建对象属性。该数字将转换为字符串,因此最好先将它们创建为字符串:
'20': function () {
这样,财产名称就没有歧义了。
运行代码,我收到错误:
document.getElementById(notifier) is null
在脚本上方移动id为倒计时的元素可修复该问题。
要启动计时器“onclick”,只需创建一个调用setTimer的函数:
function startTimer() {
setTimer(
/* setTimer code */
);
}
然后从页面开始:
<button onclick="startTimer()">Start timer</button>