From 01f8197b22967c04f247b14b1d929073af03b823 Mon Sep 17 00:00:00 2001 From: Sergey Yarkov Date: Sat, 21 Sep 2019 18:59:56 +0300 Subject: [PATCH] =?UTF-8?q?added=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BD=D0=B0=20=D0=BF=D1=83=D1=81=D1=82=D1=83?= =?UTF-8?q?=D1=8E=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/app.js | 106 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 56 insertions(+), 50 deletions(-) diff --git a/js/app.js b/js/app.js index 8c79b84..6fd07e3 100644 --- a/js/app.js +++ b/js/app.js @@ -1,62 +1,68 @@ +'use strict'; function weatherInfo() { document.querySelector('#search-btn').onclick = () => { // запрос const searchValue = document.querySelector('#search-area').value; const request = `http://api.openweathermap.org/data/2.5/weather?q=${searchValue}&appid=32dda4a23cf5093afca2f2f086c16833`; - // обработчик - function showData(data) { - const weatherCard = document.querySelector('.weather-card'), - titleCard = document.querySelector('.title-description'), - titleData = document.querySelector('.weather-card__title h2'), - tempData = document.querySelector('.weather-card__temp p'), - descData = document.querySelector('.weather-card__description p'), - dataImg = document.querySelector('.weather-card__img'), - dataWind = document.querySelector('.weather-card__wind p'), - dataHumidity = document.querySelector('.weather-card__humidity p'); + if (searchValue.trim() != '') { + // обработчик + function showData(data) { + const weatherCard = document.querySelector('.weather-card'), + titleCard = document.querySelector('.title-description'), + titleData = document.querySelector('.weather-card__title h2'), + tempData = document.querySelector('.weather-card__temp p'), + descData = document.querySelector('.weather-card__description p'), + dataImg = document.querySelector('.weather-card__img'), + dataWind = document.querySelector('.weather-card__wind p'), + dataHumidity = document.querySelector('.weather-card__humidity p'); - // перевод слов на русский - switch (data.weather[0].description) { - case 'light rain': - data.weather[0].description = 'легкий дождь' - break; - case 'clear sky': - data.weather[0].description = 'чистое небо' - break; - case 'scattered clouds': - data.weather[0].description = 'рассеянные облака' - break; - case 'broken clouds': - data.weather[0].description = 'облачность' - break; - case 'haze': - data.weather[0].description = 'туман' - break; - default: - break; + // перевод слов на русский + switch (data.weather[0].description) { + case 'light rain': + data.weather[0].description = 'легкий дождь'; + break; + case 'clear sky': + data.weather[0].description = 'чистое небо'; + break; + case 'scattered clouds': + data.weather[0].description = 'рассеянные облака'; + break; + case 'broken clouds': + data.weather[0].description = 'облачность'; + break; + case 'haze': + data.weather[0].description = 'туман'; + break; + default: + break; + } + + weatherCard.style.display = 'block'; + titleCard.style.display = 'block'; + titleData.textContent = `${data.name}, ${data.sys.country}`; + tempData.innerHTML = Math.round(data.main.temp - 273) + '° C'; + descData.textContent = data.weather[0].description; + dataImg.innerHTML = ``; + dataWind.textContent = `Скорость ветра: ${data.wind.speed}м/c`; + dataHumidity.textContent = `Влажность: ${data.main.humidity}%`; } - weatherCard.style.display = 'block'; - titleCard.style.display = 'block'; - titleData.textContent = `${data.name}, ${data.sys.country}`; - tempData.innerHTML = Math.round(data.main.temp - 273) + '° C'; - descData.textContent = data.weather[0].description; - dataImg.innerHTML = ``; - dataWind.textContent = `Скорость ветра: ${data.wind.speed}м/c`; - dataHumidity.textContent = `Влажность: ${data.main.humidity}%`; + // вывод + fetch(request) + .then(function (resp) { + return resp.json(); + }) + .then(function (data) { + showData(data); + }) + .catch(function () { + alert('Город не найден!'); + }); + } else { + alert('Введите город!'); } + }; - // вывод - fetch(request) - .then(function (resp) { - return resp.json(); - }) - .then(function (data) { - showData(data); - }) - .catch(function () { - alert('Город не найден!'); - }) - } } -weatherInfo(); +weatherInfo(); \ No newline at end of file