📅  最后修改于: 2023-12-03 15:36:34.842000             🧑  作者: Mango
本文将介绍如何使用 Vanilla JavaScript 制作一个天气应用,包括获取实时天气数据,渲染天气页面,以及基本的样式设置。
我们可以使用第三方的天气 API(比如 Weather API),以获取实时的天气数据。以下是一个简单的获取天气数据的代码片段:
const api_key = "YOUR_API_KEY";
const city = "Beijing";
const fetchUrl = `https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${api_key}`;
fetch(fetchUrl)
.then((response) => response.json())
.then((data) => {
console.log(data);
})
.catch((error) => {
console.error(error);
});
通过以上代码片段,我们可以请求实时的北京天气数据,具体来说,我们首先需要在Weather API注册并获得一个 API key,然后使用 fetch
函数请求天气数据。注意,返回的数据类型是一个 JSON 对象,我们可以根据需要提取其中的相关信息。
我们使用 DOM 操作来渲染天气页面。以下是一个简单的代码片段:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>天气应用</title>
<link rel="stylesheet" href="./style.css" />
</head>
<body>
<div id="weather">
<div class="icon"></div>
<div class="temperature"></div>
<div class="description"></div>
</div>
<script src="./app.js"></script>
</body>
</html>
const weatherDiv = document.getElementById("weather");
const iconDiv = weatherDiv.querySelector(".icon");
const temperatureDiv = weatherDiv.querySelector(".temperature");
const descriptionDiv = weatherDiv.querySelector(".description");
function renderWeather(weather) {
// 渲染天气图标
iconDiv.style.backgroundImage = `url("https://openweathermap.org/img/wn/${weather.weather[0].icon}.png")`;
// 渲染温度
temperatureDiv.innerHTML = `${weather.main.temp} °C`;
// 渲染天气描述
descriptionDiv.innerHTML = weather.weather[0].description;
}
renderWeather(data); // 根据上面获取到的数据,渲染天气页面
以上代码定义了一个简单的 HTML 页面,同时实现了渲染天气图标、温度和天气描述的功能。我们根据从 API 中获取到的数据,更新页面上的相关内容,从而呈现出实时的天气信息。
最后,我们需要设置一些基本的样式来提升天气应用的质感。以下是一个简单的 style.css
文件:
#weather {
margin: auto;
width: 200px;
height: 200px;
display: flex;
flex-direction: column;
align-items: center;
}
.icon {
margin-top: 20px;
width: 80px;
height: 80px;
background-size: cover;
}
.temperature {
margin-top: 10px;
font-size: 40px;
}
.description {
margin-top: 10px;
font-size: 20px;
}
以上代码通过设置 flex
属性实现了在垂直方向的居中对齐,并设置了合适的边距、背景图片和文字大小,从而使天气应用页面看起来更加美观。