初めまして。プログラミング初心者です。
現在、OpenWeatherMapのAPIを使用し、簡単な「世界中の都市のお天気情報を知ることができるwebアプリ」を作成しています。
どなたかご教授いただけると幸いです。
宜しくお願い致します。
該当のソースコード
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="style.css"> <title>Weather App</title> </head> <body> <div class="header"> <h1>世界の天気</h1> </div> <div class="button-section"> <button class="city">東京</button> <button class="city">シアトル</button> <button class="city">ロンドン</button> <button class="city">パリ</button> <button class="city">ベルリン</button> <button class="city">上海</button> </div> <div class="temperature"> <p>天気: <span class="weather"></span> </p> <p>現在の気温: <span class="degree"></span> ℃</p> </div> <script src="index.js"></script> </body> </html>
function onClick(city) { let temperatureDegree = document.querySelector('.degree'); let weather = document.querySelector('.weather'); let places = ["Tokyo,JP", "Seattle,US", "London,UK", "Paris,FR", "Berlin,DE", "Shanghai,CN"]; document.querySelector(city).addEventListener('click', () => { for(let i = 0; i < places.length; i++) { const api = `http://api.openweathermap.org/data/2.5/weather?q=${places[i]}&appid=e8b390837bdaa5ecda28903339b6a197&lang=ja&units=metric`; fetch(api) .then(response => { return response.json(); }) .then(data => { console.log(data); const { temp } = data.main; const { description } = data.weather[0]; temperatureDegree.textContent = Math.floor(temp); weather.textContent = description; }); } }); } onClick('.city');
試したこと
for文で処理を行うも、配列の先頭の要素しか取得できない。
補足情報(FW/ツールのバージョンなど)
vscodeを使用しています。
エラーは発生していますか?
回答1件
あなたの回答
tips
プレビュー