【发布时间】:2015-05-14 21:25:48
【问题描述】:
所以我想弄清楚在激活倒数计时器后如何更改页面的背景颜色。例如,我在下面的代码中显示了一个 5:00 计时器,该计时器在选择“开始”按钮后开始计数。当您按下“停止”时,计时器明显停止,当您选择重置时,计时器重置为 5:00 并暂停。我从网上找到的两个代码(刚刚开始 javascript)修补了 javascript 代码,它可以工作,但是我现在正试图找出一种方法来根据倒数计时器的时间更改页面的背景颜色。
所以在 300 秒到 90 秒之间,颜色应该是“绿色” 在 90-30 之间,颜色应变为“黄色” 30 - 0 颜色应该变成“红色”
如果你们能就我的代码以及如何完成上述任务向我提供任何反馈,我们将不胜感激。我刚开始编码,所以如果有正确的 javascript 方法,请告诉我。
这是我的倒数计时器的代码(javascript):
var seconds = 300;
var t;
function secondPassed() {
var minutes = Math.round((seconds - 30) / 60);
var remainingSeconds = seconds % 60;
if (remainingSeconds < 10) {
remainingSeconds = "0" + remainingSeconds;
}
document.getElementById('countdown').innerHTML = minutes + ":" + remainingSeconds;
}
function countdown() {
// starts countdown
secondPassed();
if (seconds == 0) {} else {
seconds--;
t = setTimeout("countdown()", 1000);
}
}
function cdpause() {
// pauses countdown
clearTimeout(t);
};
function cdreset() {
// resets countdown
cdpause();
secondPassed();
};
@charset "UTF-8";
/* CSS Document*/
#countdown {
font-size: 2em;
background-color: white;
}
<html>
<head>
<link rel="stylesheet" type="text/css" href="newTicket2.0.css">
<script src="Timer.js">
</script>
</head>
<body onload="cdreset()">
<span id="countdown" class="timer"></span>
<input type="button" value="Start" onclick="countdown()">
<input type="button" value="Stop" onclick="cdpause()">
<input type="button" value="Reset" onclick="cdreset(seconds = 300)">
</body>
</html>
我在想,为了改变背景颜色,代码应该是这样的:
function changeColor() {
if (seconds == 300) {
document.change.bgColor = "green";
} else if (seconds == 90) {
document.change.bgColor = "yellow";
} else(seconds == 30) {
`enter code here`
document.change.bgColor = "red";
}
}
但是,我无法弄清楚如何在不弄乱原始产品的情况下进行任何更改。颜色变化应与按钮单击相关联。所以一旦按下“开始”按钮,颜色应该会改变,并根据上面的参数继续改变。一旦计数器达到零,它应该保持红色,直到按下重置按钮。一旦按下“重置”按钮,颜色就会变回绿色并变黄,然后变红。所以它应该与我似乎无法让它工作的计时器一起工作。
【问题讨论】:
-
你可能想要
document.body.style.backgroundColor = 'red' -
我已经对代码进行了更改,但是当我将 changeColor() 函数添加到 countdown() 函数时,它似乎完全删除了计时器并且没有任何效果。所以我想知道这是否是计时器代码的问题。我只需要弄清楚为什么它不起作用。但至少我知道我在正确的球场上哈哈。
标签: javascript jquery html css timer