javascript - 当计时器分钟达到某个目标时,我如何更改页面的背景颜色?
问题描述
我目前正在制作一个计时器/秒表,如果计时器达到 5 分钟,那么我正在尝试将背景颜色更改为例如绿色,当它达到 10 分钟时,我希望它变为蓝色,等等......
这是代码
let seconds = 0;
let minutes = 0;
let hours = 0;
let displaySeconds = 0;
let displayMinutes = 0;
let displayHours = 0;
let interval = null;
let status = "stopped";
//Stopwatch function
function stopWatch(){
seconds++;
if(seconds / 60 === 1){
seconds = 0;
minutes++;
if(minutes / 60 === 1){
minutes = 0;
hours++;
}
}
if(seconds < 10){
displaySeconds = "0" + seconds.toString();
}
else{
displaySeconds = seconds;
}
if(minutes < 10){
displayMinutes = "0" + minutes.toString();
}
else{
displayMinutes = minutes;
}
if(hours < 10){
displayHours = "0" + hours.toString();
}
else{
displayHours = hours;
}
document.getElementById("display").innerHTML = displayHours + ":" + displayMinutes + ":" + displaySeconds;
}
function startStop(){
if(status === "stopped"){
interval = window.setInterval(stopWatch, 1000);
document.getElementById("startStop").innerHTML = "Stop";
status = "started";
}
else{
window.clearInterval(interval);
document.getElementById("startStop").innerHTML = "Start";
status = "stopped";
}
}
//Function to reset stopwatch
function reset(){
window.clearInterval(interval);
seconds = 0;
minutes = 0;
hours = 0;
document.getElementById("display").innerHTML = "00:00:00";
document.getElementById("startStop").innerHTML = "Start";
}
function changeColor(){
if (seconds === 300){
document.change.bgColor = "green";
}
else if (seconds === 600){
document.change.bgColor = "yellow";
}
else if (seconds === 900){
document.change.bgColor = "red";
}
}
如您所见,我添加了更改颜色的功能,但是当我尝试它时,不幸的是,什么也没发生,我正在尝试找出可能的错误,如果您有任何想法,请告诉我。
解决方案
if(seconds / 60 === 1){
seconds = 0;
minutes++;
if(minutes / 60 === 1){
minutes = 0;
hours++;
}
}
如果达到 60,您已将秒数设置为 0。因此,它永远不会达到 300。也document.change.bgColor
应该是document.body.style.backgroundColor
我希望这能解决
推荐阅读
- c# - 如何在 Unity 中找到 BlendShape?
- database - 如何在 onCreate 函数中获取新的数据库引用以发送邮件?
- java - 没有互联网显示对话框
- php - 隐藏 URL 查询字符串 WordPress
- excel - 根据特定条件删除大量行(例如 ~500k 行)
- javascript - jQuery 下载适用于 Chrome 而不是资源管理器
- winforms - 如何防止状态栏覆盖我的 RichTextBox?
- github - 无法从 AWS EMR Jupyterhub 笔记本设置 Github 访问
- python - 如何将 Panda DataFrame 或 QTableWidget 转换为 Pdf?
- web - 我可以在没有互联网的情况下在本地托管网站吗