Thermomètre en javascript
Résolu
Docxydre
-
Docxydre -
Docxydre -
Bonjour, je dois faire un thermomètre qui change quand on appuie sur un bouton, j'ai créé une fonction qui modifie mon thermomètre qui marche bien mais je n'arrive pas à le modifier en appuyant sur les boutons. Je ne trouve pas comment prendre l'information dans CityTemperatures. Merci de m'aider.
EDIT: correction des balises de code
var cityTemperatures = {
"Arles": 8,
"Hanoi": 14,
"Lille": 4,
"Nancy": 1,
"Nîmes": 8,
"Paris": 5,
"Rabat": 15,
"Tokyo": 8,
"Tunis": 13
};
function addCityButton(city){
var btn = document.createElement("button");
btn.innerHTML = city;
btn.style.float = "left";
btn.style.height = "100px";
btn.style.width = "100px";
btn.style.border = "solid grey 1px";
btn.style.fontSize = "1,5em";
btn.addEventListener("click", setTemperature);
cityDiv.appendChild(btn);
}
var cityDiv = document.getElementById("cities");
for (var city in cityTemperatures){
addCityButton(city);
}
function setTemperature(temperature){
if (temperature > -20 && temperature < 40){
var valueDiv = document.getElementById("temperature-value");
valueDiv.innerHTML = temperature + "°C";
var fillDiv = document.getElementById("thermometer-fill");
fillDiv.style.height = 5*temperature+110+"px";
var colorDiv = document.getElementsByClassName("mercury");
for (var i = 0; i < colorDiv.length; i++){
if (temperature <= 0)
colorDiv[i].style.backgroundColor='blue';
else
colorDiv[i].style.backgroundColor='red';
}
}
}
EDIT: correction des balises de code
A voir également:
- Thermomètre en javascript
- Telecharger javascript - Télécharger - Langages
- A javascript error occurred in the main process - Forum Windows
- Afficher un tableau javascript en html ✓ - Forum Javascript
- A javaScript error occurred in the main process - Forum Handicap / Accessibilté
- Thermomètre - Guide
2 réponses
Bonjour,
var cityTemperatures = {
"Arles": 8,
"Hanoi": 14,
"Lille": 4,
"Nancy": 1,
"Nîmes": 8,
"Paris": 5,
"Rabat": 15,
"Tokyo": 8,
"Tunis": 13
};
function addCityButton(city,temp){
var btn = document.createElement("button");
btn.innerHTML = city;
btn.style.float = "left";
btn.style.height = "100px";
btn.style.width = "100px";
btn.style.border = "solid grey 1px";
btn.style.fontSize = "1,5em";
btn.setAttribute("onclick","setTemperature('"+temp+"');");
cityDiv.appendChild(btn);
}
function setTemperature(temperature){
console.log(temperature);
if (temperature > -20 && temperature < 40){
var valueDiv = document.getElementById("temperature-value");
valueDiv.innerHTML = temperature + "°C";
var fillDiv = document.getElementById("thermometer-fill");
fillDiv.style.height = 5*temperature+110+"px";
var colorDiv = document.getElementsByClassName("mercury");
for (var i = 0; i < colorDiv.length; i++){
if (temperature <= 0)
colorDiv[i].style.backgroundColor='blue';
else
colorDiv[i].style.backgroundColor='red';
}
}
}
var cityDiv = document.getElementById("cities");
for( var city in cityTemperatures){
console.log("city",city,"temp", cityTemperatures[city]);
addCityButton(city,cityTemperatures[city]);
};
Docxydre
merci beaucoup c'est incroyable j'espérais juste une piste mais la c'est encore mieux encore merci !