Я хотел бы сначала создать массив диапазонов, например, так:
let tempRanges = [{low: 0, high: 10, image: '0-10.png'}, {low: 10, high: 20, image: '10-20.png'}, {low: 20, high: 30, image: '20-30.png'}];
Я работаю в предположении, что ваши температурные диапазоны не пересекаются.Используемые здесь значения, очевидно, являются только примером.
Затем создайте функцию, которая найдет соответствующий диапазон на основе указанной температуры:
function findRangeByTemperature(temp) {
return tempRanges.find(range => {
return temp >= range.low && temp < range.high;
});
}
Обратите внимание, что нижняя граница диапазона включительно, а верхняядиапазон не является.Таким образом, с учетом диапазонов 0-10 и 10-20 и входной температуры 10, он попадет в диапазон 10-20.Это сделано для предотвращения неоднозначности при сопоставлении диапазонов.
Наконец, в вашем коде это будет выглядеть примерно так:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Weersinformatie API Bergschenhoek</title>
<style>
html,
body {
font-size: 20px;
font-family: Arial, sans-serif;
background-color: #d70080;
width: 100%;
height: 100%;
line-height: 2;
}
h1 {
color: #f4f4f4;
}
div {
position: absolute;
top: 30%;
width: 100%;
text-align: center;
}
ul {
list-style: none;
color: #fff;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body>
<div class=ïmg" id="data-img">
<section>
<h1>Huidige weer in Bergschenhoek</h1>
<ul>
<li><b>Weersconditie:</b> <span id="data-current"></span></li>
<li><b>Temperatuur:</b> <span id="data-temp"></span>°</li>
<li><b>Luchtvochtigheid:</b> <span id="data-humidity"></span>%</li>
<li><b>Windsterkte:</b> <span id="data-wind"></span> km/u</li>
</ul>
<img id="data-temp-img" />
</section>
</div>
<script>
let tempRanges = [{low: 0, high: 10, image: '0-10.png'}, {low: 10, high: 20, image: '10-20.png'}, {low: 20, high: 30, image: '20-30.png'}];
function findRangeByTemperature(temp) {
return tempRanges.find(range => {
return temp >= range.low && temp < range.high;
});
}
$.getJSON("http://api.openweathermap.org/data/2.5/weather?q=Bergschenhoek&units=metric&APPID=d2e5fd3c23340d44d09af919eb51e52a", function(data) {
console.log(data);
$("#data-current").text(data.weather[0].description);
$("#data-temp").text(data.main.temp);
$("#data-humidity").text(data.main.humidity);
$("#data-wind").text(data.wind.speed);
let range = findRangeByTemperature(data.main.temp);
// range was found
if(range) {
// display range.image
$("#data-temp-img").attr("src", range.image);
}
else {
// range was not found, maybe show a default image?
}
})
.fail(function(jqxhr, textStatus, error) {
console.log("Request Failed" + textStatus + "," + error);
});
</script>
</body>
</html>