143 lines
6.7 KiB
HTML
Executable File
143 lines
6.7 KiB
HTML
Executable File
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>实时天气查询</title>
|
|
<link rel="stylesheet" href="styles.css">
|
|
<link rel="stylesheet" href="background.css">
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<header class="header">
|
|
<h1>实时天气</h1>
|
|
<div class="search-box">
|
|
<input type="text" id="cityInput" placeholder="请输入城市名称..." value="北京">
|
|
<button id="searchBtn">查询</button>
|
|
</div>
|
|
</header>
|
|
|
|
<main class="main-content">
|
|
<div class="loading" id="loading">正在加载天气数据...</div>
|
|
|
|
<div class="weather-card" id="weatherCard" style="display: none;">
|
|
<div class="location-info">
|
|
<h2 id="locationName">北京</h2>
|
|
<p id="updateTime">更新时间: --</p>
|
|
</div>
|
|
|
|
<div class="current-weather">
|
|
<div class="temperature-section">
|
|
<span class="temperature" id="temperature">--°C</span>
|
|
<span class="weather-desc" id="weatherDesc">--</span>
|
|
</div>
|
|
<div class="weather-icon" id="weatherIcon">🌤️</div>
|
|
</div>
|
|
|
|
<div class="weather-details">
|
|
<div class="detail-item">
|
|
<span class="label">体感温度</span>
|
|
<span class="value" id="feelsLike">--°C</span>
|
|
</div>
|
|
<div class="detail-item">
|
|
<span class="label">湿度</span>
|
|
<span class="value" id="humidity">--%</span>
|
|
</div>
|
|
<div class="detail-item">
|
|
<span class="label">风向</span>
|
|
<span class="value" id="windDirection">--</span>
|
|
</div>
|
|
<div class="detail-item">
|
|
<span class="label">风力</span>
|
|
<span class="value" id="windStrength">--</span>
|
|
</div>
|
|
<div class="detail-item">
|
|
<span class="label">气压</span>
|
|
<span class="value" id="pressure">-- hPa</span>
|
|
</div>
|
|
<div class="detail-item">
|
|
<span class="label">能见度</span>
|
|
<span class="value" id="visibility">--</span>
|
|
</div>
|
|
<div class="detail-item">
|
|
<span class="label">空气质量</span>
|
|
<span class="value" id="aqi">AQI --</span>
|
|
</div>
|
|
<div class="detail-item">
|
|
<span class="label">PM2.5</span>
|
|
<span class="value" id="pm25">-- μg/m³</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="life-index">
|
|
<h3>生活指数</h3>
|
|
<div class="index-grid">
|
|
<div class="index-item">
|
|
<div class="index-icon">🌡️</div>
|
|
<div class="index-content">
|
|
<div class="index-title">舒适度</div>
|
|
<div class="index-level" id="comfortLevel">--</div>
|
|
<div class="index-desc" id="comfortDesc">--</div>
|
|
</div>
|
|
</div>
|
|
<div class="index-item">
|
|
<div class="index-icon">👕</div>
|
|
<div class="index-content">
|
|
<div class="index-title">穿衣指数</div>
|
|
<div class="index-level" id="clothingLevel">--</div>
|
|
<div class="index-desc" id="clothingDesc">--</div>
|
|
</div>
|
|
</div>
|
|
<div class="index-item">
|
|
<div class="index-icon">☂️</div>
|
|
<div class="index-content">
|
|
<div class="index-title">雨伞指数</div>
|
|
<div class="index-level" id="umbrellaLevel">--</div>
|
|
<div class="index-desc" id="umbrellaDesc">--</div>
|
|
</div>
|
|
</div>
|
|
<div class="index-item">
|
|
<div class="index-icon">☀️</div>
|
|
<div class="index-content">
|
|
<div class="index-title">紫外线</div>
|
|
<div class="index-level" id="uvLevel">--</div>
|
|
<div class="index-desc" id="uvDesc">--</div>
|
|
</div>
|
|
</div>
|
|
<div class="index-item">
|
|
<div class="index-icon">🚗</div>
|
|
<div class="index-content">
|
|
<div class="index-title">洗车指数</div>
|
|
<div class="index-level" id="carWashLevel">--</div>
|
|
<div class="index-desc" id="carWashDesc">--</div>
|
|
</div>
|
|
</div>
|
|
<div class="index-item">
|
|
<div class="index-icon">🎒</div>
|
|
<div class="index-content">
|
|
<div class="index-title">旅游指数</div>
|
|
<div class="index-level" id="travelLevel">--</div>
|
|
<div class="index-desc" id="travelDesc">--</div>
|
|
</div>
|
|
</div>
|
|
<div class="index-item">
|
|
<div class="index-icon">🏃</div>
|
|
<div class="index-content">
|
|
<div class="index-title">运动指数</div>
|
|
<div class="index-level" id="sportLevel">--</div>
|
|
<div class="index-desc" id="sportDesc">--</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="error-message" id="errorMessage" style="display: none;">
|
|
<p>获取天气数据失败,请检查网络连接或稍后重试</p>
|
|
</div>
|
|
</main>
|
|
</div>
|
|
|
|
<script src="script.js"></script>
|
|
</body>
|
|
</html> |