我有(html)javascript的问题,我希望有人可以帮助我/
我正在用javascript制作自己的酒柜, 你可以打开和关闭门,如果你打开门,7.1的原始温度将升高0.9,关闭后它会自动降低到7.1(每5分钟0.2),我使用setinterval来做到这一点。
现在我想添加一个输入字段输入id =" desiredtemp"类型="文本"
和另一个=按钮按钮类型="按钮" id ="期望">设置所需的温度/按钮
我这样做是因为我想添加一个功能,当你关门时,你可以将温度降低到你想要的温度而不是原来的7.1。但我不能让它工作
任何帮助都会非常感激。
到目前为止我的代码
var degree = 7.2;//graden
var counter = 0;//counter gebruikt om stand aan te geven van wijnkoeler
function myFunction() {
if (counter === 0) {
document.getElementById("dicht").src = "images/open.jpg";
degree = degree + 0.9;
temp.innerHTML = degree; //+ " " + "graden celsius in de wijnkoeler";
console.log("Wijnkoeler is geopend");
console.log("Temperatuur " + "is " + "nu " + degree + " Graden");
counter = 1;
}
else if (counter === 1) {
document.getElementById("dicht").src = "images/dicht.jpg";
console.log("de temperatuur van de Wijnkoeler is gestegen naar" + degree);
console.log("De motor wordt gestart");
console.log("...");
console.log("...");
console.log("...");
var id = window.setInterval(function() {
degree = parseFloat(Math.max(7.2, (degree - 0.2)).toPrecision(2));//telkens 0.2 graden eraf -- afronden
if (degree == 7.2) { //als het weer 7.2 graden is motor uitschakelen
window.clearInterval(id);
console.log("De temperatuur is weer op " + degree + "graden" );
console.log("De motor wordt uitgeschakeld")
}
temp.innerHTML = degree;
}, 5 *60 *1000); //elke 5 minuten
counter = 0;
}
}
html:
<body>
<button onclick="myFunction();">Open/Close</button>
<p id="Temperatuur">Temperatuur</p>
<p id="temp">7.2</p>
<input id="desiredtemp" type="text">
<button type="button" id="desired">Set desired temperature</button>
<img id ="dicht" src="images/dicht.jpg"/>
</body>
再次感谢
答案 0 :(得分:0)
您需要进行一些更改。首先,摆脱7.2
函数中的常量setTimeout
并替换为变量:
var targetTemp = document.getElementById("desiredtemp").value || 7.2; //get from textbox, or use 7.2 if no value set
然后,引用它而不是常量:
degree = parseFloat(Math.max(targetTemp, (degree - 0.2)).toPrecision(2));
和
if (degree == targetTemp) {
最后,您可以删除“设置所需温度”按钮,因为您根本不需要它。
您可以在小提琴中看到所有这些变化:http://jsfiddle.net/magnafides/56w6E/3/