這是一個非常基本的計時器,但我想知道是否有任何方法可以在計時器達到10秒時將顯示顏色更改爲紅色。我試着將這段代碼放在javascript的不同位置,試着在元素內部放置一個類,但它只是把它擰緊了。如何更改顯示器的顏色?
if (secondsRemaining <== 10) {
timeDisplay.className += "red";
}
這裏是我的javascript:
var secondsRemaining;
var intervalHandle;
function resetPage() {
document.getElementById("inputArea").style.display = "block";
}
function tick() {
var timeDisplay = document.getElementById("time");
var min = Math.floor(secondsRemaining/60);
var sec = secondsRemaining - (min * 60);
if (sec < 10) {
sec = "0" + sec;
}
var message = min + ":" + sec;
timeDisplay.innerHTML = message;
if (secondsRemaining === 0) {
alert("Done!");
clearInterval(intervalHandle);
resetPage();
}
// subtracts seconds remaining
secondsRemaining--;
}
function startCountdown() {
var minutes = document.getElementById("minutes").value;
if (isNaN(minutes)) {
alert("Please enter a number");
return;
}
if (minutes == "") {
alert("Please enter a number");
return;
}
secondsRemaining = minutes * 60;
intervalHandle = setInterval(tick, 1000);
document.getElementById("inputArea").style.display = "none";
}
window.onload = function() {
var inputMinutes = document.createElement("input");
inputMinutes.setAttribute("id", "minutes");
inputMinutes.setAttribute("type", "text");
var startButton = document.createElement("input");
startButton.setAttribute("type", "button");
startButton.setAttribute("value", "Start Countdown");
startButton.onclick = function() {
startCountdown();
};
document.getElementById("inputArea").appendChild(inputMinutes);
document.getElementById("inputArea").appendChild(startButton);
};
HTML:
<!DOCTYPE HTML>
<html>
<head>
<title>Countdown</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="container">
<div id="inputArea"></div>
<h1 id="time">0:00</h1>
</div>
<script src="script.js"></script>
</body>
</html>
CSS:
body {
font-family: Roboto;
font-size: 100%
color: rgb(33, 33, 33);
}
#container {
width: 400px;
margin: auto;
}
#time {
font-size: 100px;
}
.red {
color: red;
}
使用瀏覽器的inspect元素功能來查看是否正在設置班級 –