嗨我这里有这个功能(zetTemperatuur),它应该将标准温度改变到所需的温度(它应该是一个winecooler模拟器)。如果我将所需的温度设置在1.0到9.9度之间,但是只要我将所需的温度设置在10.0度以上,该功能就无法正常工作。
var temperatuur = 7.2;
function openDedeur() {
temperatuur = temperatuur + 0.9;
document.getElementById("huidigetemperatuur").value = temperatuur.toFixed(1);
console.log("U hebt de wijnkoeler geopend, de temperatuur stijgt nu met 0.9º.");
}
function countDown() {
setInterval(function () {
temperatuur = temperatuur - 0.2;
document.getElementById("huidigetemperatuur").value = temperatuur.toFixed(1);
}, 300000);
}
function trekAf() {
temperatuur = temperatuur - 0.1;
console.log("De huidige temperatuur is " + temperatuur.toFixed(1));
document.getElementById("huidigetemperatuur").value = temperatuur.toFixed(1);
}
function telOp() {
temperatuur = temperatuur + 0.1;
console.log("De huidige temperatuur is " + temperatuur.toFixed(1));
document.getElementById("huidigetemperatuur").value = temperatuur.toFixed(1);
}
function zetTemperatuur() {
var handmatigeTemp = document.getElementById("gewenstetemperatuur").value;
var flag = false;
var myInterval = setInterval(function () {
if (handmatigeTemp < temperatuur.toFixed(1)) {
if (flag == false) {
flag = true;
console.log("De motor van de wijnkoeler begint te draaien en zal geleidelijk aan dalen naar de gewenste temperatuur.");
}
trekAf();
} else if (handmatigeTemp > temperatuur.toFixed(1)) {
if (flag == false) {
flag = true;
console.log("De motor van de wijnkoeler begint te draaien en zal geleidelijk aan stijgen naar de gewenste temperatuur.");
}
telOp();
} else if (handmatigeTemp == temperatuur.toFixed(1)) {
console.log("Uw Wijnkoeler is op de gewenste temperatuur, namelijk " + temperatuur.toFixed(1) + ". De wijnkoeler zal nu uitschakelen om energie te besparen.");
clearInterval(myInterval);
} else {
clearInterval(myInterval);
}
}, 30);
}
countDown();
答案 0 :(得分:0)
检索handmatigeTemp时,它是一个字符串。 toFixed()函数将返回temperatureuur的字符串表示。
比较两个字符串时,Javascript不会转换任何类型。因此,您要按字母顺序比较这两个值。
要解决此问题,只需删除“toFixed()”调用即可。 Javascript会将handmatigeTemp转换为数字并正确执行比较。
handmatigeTemp < temperatuur