天气预报页面的设计与实现

许泓涛

摘要:

天气预报(测) 或 气象预报(测) 是使用现代科学技术对未来某一地点 地球大气层 的状态进行预测。 从史前人类就已经开始对天气进行预测来相应地安排其工作与生活(比如农业生产、军事行动等等)。 今天的天气预报主要是使用收集大量的数据( 气温 、 湿度 、风向和风速、 气压 等等),然后使用目前对大气过程的认识( 气象学 )来确定未来空气变化。利用互联网技术展现在人们面前,让人们看的懂,有利于人们的出行安排。

关键词: 计算机 html  API  JavaScript   CSS   网络

目  录

前言... 3

一、         设计研究的目标与意义.. 3

(一)目标... 3

(二)意义... 3

二、         项目系统分析... 3

(一)可行性... 3

(二)需求性... 4

(三)开发平台... 4

三、         基于Visual Studio Code项目开发... 4

(一)Visual Studio Code简介... 4

(二)为什么使用Visual Studio Code. 5

四、         JavaScript计算机编程语言.. 6

五、         建立开发环境... 7

六、         程序设计与实现... 7

(一)天气查询页面... 7

(二)获取城市相关指数与空气质量.. 17

      前言

随着社会的发展与进步,智能手机的普及,人们在电视上面观看天气预报的越来越少了,大部分人都是在出门之前观看天气预报,然而电视里面的天气预报只能在规定的时间内观看,不方便人们的出行,也不方便观看目的地的实时天气。在计算机飞速发展的时代,使用网页观看实时天气成了一种趋势。

本设计研究是关于一个天气预报的设计与功能实现,主要目的是方便人们知道未来三天的天气情况,可实现实时定位与输入城市查询天气情况。会根据自己的选择提供查询地区的实时温度,天气情况,风向风速,紫外线,相对湿度,大气压,降水量,能见度。还有空气相关的空气质量以及相关提示,和一些生活建议,比如舒适度,洗车指数,运动指数等等。

  • 设计研究的目标与意义

(一)目标

对于广大群众来说,出行看天气已经成为了必要条件,提前知道天气,可以更好的把握计划,不会因为没看天气预报改变自己的计划。为了方便人们的出行,为了,方便更有力的知道实时天气情况,所以就有了此设计。

(二)意义

方便人们知道实时天气情况,不需要蹲点观看天气预报,实时了解目的地天气情况,防止天气预报的时效性。避免一些突发的天气情况,还可以里了解未来三天的天气情况,并给出当前天的生活建议,使人们清楚当前天气可以干些什么是比较好的,可以避免一些事情的发生。

(一)可行性

开发任何东西都需要时间和资源,还要考虑一些条件因素。所以在这之前要有一些准备工作和计划。合理的利用时间和资源避免一些风险和一些不必要的麻烦。

此设计采用的开发工具是现在比较流行的Visual Studio Code开发工具,该工具内涵一些插件可以快速生成一些代码,提高了开发的效率。天气预报可定需要一些接口类的东西,这些接口是根据和风天气所提供的API进行开发。

(二)需求性

  1. 页面的干净整洁,看上去美观
  2. 操作简单方便,快捷
  3. 自动获取当前位置,显示当前天气情况
  4. 可以实现根据天气提出生活建议
  5. 可以观察实时空气质量
  6. 可以观察未来三天天气情况

(三)开发平台

  1.  Visual Studio Code
  2.  百度地图API
  3.  和风天气API
  • 基于Visual Studio Code项目开发

(一)Visual Studio Code简介

Visual Studio Code(简称“VS Code” )是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代Web和云应用的跨平台源代码编辑器,可在桌面上运行,并且可用于Windows,macOS和Linux。它具有对JavaScript,TypeScript和Node.js的内置支持,并具有丰富的其他语言(例如C++,C#,Java,Python,PHP,Go)和运行时(例如.NET和Unity)扩展的生态系统。

(二)为什么使用Visual Studio Code

1、跨平台

它是免费的,开放源代码和跨平台的编辑器,可在Windows,Linux和macOS上运行,因此无论您的设备所基于的平台如何,您都可以工作。

2、支持多种编程语言

当您访问Visual Studio Code网站时,您很快就会意识到它支持几乎所有主要的编程语言。它支持Python,Java,HTML,CSS,Type,C++,Java,PHP,Go,C#,PHP,SQL,Ruby,Objective-C等。

3、您可以更改所选文件的语言

它支持默认语言,具体取决于您的文件,但您也可以更改语言模式。为此,请单击状态栏右侧的语言指示器,这将打开“更改语言模式”下拉菜单。在这里,您可以为当前文件选择不同的语言。

4、提供特定语言的文档

它的网站包含特定于Visual Studio Code支持的通用语言的文档。其中一些是C++,C#,CSS,Go,Python,PHP,Java等。

5、调试

VSC带有内置调试器,这也是其主要功能之一。它有助于加速任何程序员的编辑,编译和调试循环。但是,默认情况下,它仅带有支持NodeJS的调试器,该调试器可以调试任何转译为Java的内容,但同样,您可以将扩展名用于其他运行时。

6、内置Git集成

Visual Studio Code通过提供完整的Git集成使程序员更进一步,使程序员无需离开编辑器即可立即查看更改。您可以在侧栏的左侧找到Git图标,在其中可以对其进行初始化,并可以执行若干Git命令,例如pull,push,publish和其他命令。此外,VSC还可以与多个Git存储库一起使用,无论是本地的还是远程的。

7、智能感知

程序员使用此功能来实现智能代码完成,参数信息,内容辅助,快速信息和代码提示。VSC为Java,CSS,HTML,Type,JSON,Sass和Less编程语言提供了IntelliSense。对于其他语言,我们可以通过添加其扩展名来使用IntelliSense。

8、命令面板

按下Ctrl + Shift + P 命令会显示命令面板,使您可以从键盘访问VS Code。它允许您访问VS Code的所有功能,包括所有关键字快捷方式。此外,此选板还允许访问许多命令。

9、代码管理功能

Visual Studio代码还提供了代码管理功能,例如转到定义,查看定义,查找所有引用并重命名符号。通过右键单击代码文件,可以在VSC中轻松找到这些功能。

1、 脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。

2、 基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。

3、 简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。

4、  动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应的响应。

5、  跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提是机器上的浏览器支 持JavaScript脚本语言,JavaScript已被大多数的浏览器所支持。

 6、   不同于服务器端脚本语言,例如PHP与ASP,JavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。所以在早期程序员比较青睐于JavaScript以减少对服务器的负担,而与此同时也带来另一个问题,安全性。

安装谷歌浏览器和Visual Studio Code 不需要太复杂的过程,然后在Visual Studio Code内置里安装一个插件open in browser 即可,方便快速在浏览器当中打开( 快捷键Alt + B )。

  • 程序设计与实现

(一)天气查询页面

进来页面显示所在城市实时天气预报,以及未来两天天气情况,点击显示日期区域即可获取未来天气情况,效果图如下。

首先要把样式写好,再去调用百度地图API和和风天气API进行获取当前地区天气情况。利用了基础的div li h2 span等元素标签进行整体布局,主要利用CSS3 float浮动布局与基础的属性进行样式展现。

具体页面布局如下:

<div class="container"><div class="search_box"><input type="text" placeholder="请输入城市"><button>获取</button></div><h2>当前城市</h2><div class="header clearfix"><ul><li class="active">今天</li><li>明天</li><li>后天</li></ul></div><div class="w clearfix"><img src="icons/100.png" alt="" class="Weather" data-title="iconDay"><span class="DEG" data-title="tempMin">23°</span><span class="weather" data-title="textDay">晴天</span></div><div class="co"><div class="content"><ul class="clearfix"><li class="clearfix"><img src="data:images/fx.png" alt=""><div class="text"><span data-title="windScaleDay" data-text="级">n-m级</span><span class="WDIR" data-title="windDirDay">西北风</span></div></li><li class="clearfix"><img src="data:images/uv.png" alt=""><div class="text"><span data-title="uvIndex" data-text=" ">10</span><span class="">紫外线</span></div></li><li class="clearfix"><img src="data:images/hum.png" alt=""><div class="text"><span data-title="humidity" data-text="%">10</span><span class="">相对湿度</span></div></li><li class="clearfix"><img src="data:images/pressure.png" alt=""><div class="text"><span data-title="pressure" data-text="hPa">10</span><span class="">大气压</span></div></li><li class="clearfix"><img src="data:images/pcpn.png" alt=""><div class="text"><span data-title="precip" data-text="mm">10</span><span class="">降水量</span></div></li><li class="clearfix"><img src="data:images/vis.png" alt=""><div class="text"><span data-title="vis" data-text="KM">10</span><span class="">能见度</span></div></li></ul></div></div></div>

CSS样式代码如下:

/*显示内容*/.search_box {width: 400px;margin: 0 auto;}/*输入框*/input {padding-left: 5px;height: 30px;width: 225px;border: none;color: rgba(40, 41, 44, 0.8);outline: none;border-radius: 18px;background-color: #FFFFFF;padding: 4px 0 4px 14px;margin: 50px 0 50px 50px;}button {text-decoration: none;width: 70px;background-color: rgba(255, 255, 255, .1);height: 30px;margin-left: 10px;text-align: center;color: white;text-transform: uppercase;border-radius: 50px;cursor: pointer;}/*天气情况及温度显示*/.w {width: 176px;color: #fff;margin: 0 auto;margin-bottom: 20px;}.w img {float: left;width: 108px;height: 108px;}/*度数显示*/.w .DEG {float: left;padding-top: 17px;font-size: 48px;line-height: 1;font-weight: 300;width: 65px;}/*天气状况*/.w .weather {font-size: 18px;line-height: 24px;}/*近三天*/.header {width: 616px;margin: 0 auto;border-radius: 22px;}.header li {float: left;width: 192px;height: 50px;text-align: center;border-radius: 22px;line-height: 50px;margin-left: 10px;color: black;cursor: pointer;background-color: #EFF1F7;}.header li:hover,.header .active {background-color: rgba(102, 134, 253, 0.9);color: #fff;}/*显示内容--湿度--压强*/.content {height: 32px;background-color: rgba(0, 0, 0, 0.7);line-height: 20px;padding: 24px 0;border-radius: 12px;width: 800px;margin: 0 auto;}.content>ul>li {float: left;margin-left: 30px;position: relative;}.content>ul>li>img {position: relative;top: -3px;width: 36px;height: 36px;margin-right: 8px;float: left;}.content>ul>li>.text {float: left;color: #fff;}.text span:first-child {display: block;font-size: 18px;line-height: 14px;}.content>ul>li span:nth-child(2) {margin-top: 5px;font-size: 14px;}.banner {overflow: hidden;background: url(../images/bg.png) 0% 0% / 100% 100% no-repeat;/* height: 694px; */height: 92vh;position: relative;}

上面这些只能展现出最原始的样式,并没有真实的数据进行填充,效果图如下:

首先要获取到当前页面需要的元素。

var btn = document.querySelector("button");var ipt = document.querySelector("input");var h2 = document.querySelector(".banner h2");var Weather = document.querySelector(".Weather");var weather = document.querySelector(".weather");var dge = document.querySelector('.DEG');var lis = document.querySelectorAll(".header li");var spans = document.querySelectorAll(".content .text span:first-child");var wdir = document.querySelector(".WDIR");var banner = document.querySelector('.banner');

要想获得当前城市天气情况就要获取当前城市,这里借助百度地图API提供的方法获取当前定位。代码如下:

var geolocation = new BMap.Geolocation();geolocation.getCurrentPosition(function (r) {if (this.getStatus() == BMAP_STATUS_SUCCESS) {mk = new BMap.Marker(r.point);getAddress(r.point);} else {alert('failed' + this.getStatus());}});function getAddress(point) {var gc = new BMap.Geocoder();gc.getLocation(point, function (rs) {console.log(rs);var addComp = rs.addressComponents;find(addComp.city); // 这里是调用了自己写的方法});}

打开页面就进行调用此方法,就能获取当前定位信息。然后进行调用自己写的方法,去进行获取当前地区天气情况。这里需要自行申请和风天气的KEY,以下需要KEY的地方用“你的KEY”代替。

由于获取当前城市天气情况需要利用当前城市id去获取,所以要先调用获取当前城市id的方法。

function find(value) {var xhr = new XMLHttpRequest();xhr.open("get", "https://geoapi.qweather.com/v2/city/lookup?location=" + value + "&key=你的KEY");xhr.send();xhr.onreadystatechange = function () {if (xhr.readyState == 4) {var json = JSON.parse(xhr.responseText);var locationId = json.location[0].id;searchWeather(locationId);// 这里是获取城市天气的方法h2.innerText = "当前城市" + json.location[0].name;}}}

获取到当前城市就要显示在页面当中,首先要获取到要展示的地方,然后利用innerText 把获取的城市名称拼接起来,展示在页面当中。

h2.innerText = "当前城市" + json.location[0].name;

自动获取完当前地区,然后要获取天气情况,把城市id传到获取天气情况的方法当中,利用城市id获取当前城市未来天气情况:

function searchWeather(id) {var xhr = new XMLHttpRequest();xhr.open("get", "https://devapi.qweather.com/v7/weather/3d?location="+ id + "&key=你的KEY");xhr.send();xhr.onreadystatechange = function () {if (xhr.readyState == 4) {var data = JSON.parse(xhr.responseText);console.log(data, "data");}}}

由于获取到的是数组,所以要去循坏调用,并在第一次调用方法的时候,把数组下标为0的数据回显到页面,进行渲染展示当天的天气情况。具体代码如下:

for (var i = 0; i < spans.length; i++) {var key = spans[i].getAttribute("data-title");var units = spans[i].getAttribute('data-text');spans[i].innerText = data.daily[0][key] + units;weather.innerText = data.daily[0][weather.getAttribute("data-title")];dge.innerText = data.daily[0][dge.getAttribute("data-title")] + '°';Weather.setAttribute("src", "icons/" + data.daily[0].iconDay + ".png");wdir.innerText = data.daily[0].windDirDay;}

然后为每一个日期区域添加点击事件,点击的时候下面就显示当前日期的天气情况。具体代码如下:

for (var i = 0; i < lis.length; i++) {lis[i].innerText = data.daily[i].fxDate;lis[i].index = i;lis[i].addEventListener('click', f1);function f1() {console.log(data.daily);for (var i = 0; i < spans.length; i++) {var key = spans[i].getAttribute("data-title");var units = spans[i].getAttribute('data-text');spans[i].innerText = data.daily[this.index][key] + units;weather.innerText =data.daily[this.index][weather.getAttribute("data-title")];dge.innerText =data.daily[this.index][dge.getAttribute("data-title")] + '°';Weather.setAttribute("src","icons/" + data.daily[this.index].iconDay + ".png");}wdir.innerText = data.daily[this.index].windDirDay;document.querySelector('.active').className = '';this.className = 'active';}}

然后就可以点击日期,显示区域就能显示对应日期的天气情况了。当然,不仅仅可以查询当地天气情况,也可以自己输入地区查询。

例如:如图 输入框内输入了黄岛地区,点击查询就可以获取黄岛地区天气情况。

首先要获取到输入的地区名称,点击获取按钮,先去获取输入地址的id,根据查询的id去获取输入地区的天气情况,然后在进行回显。步骤方法和上面一致,多了一个点击按钮。按钮事件如下:

btn.onclick = function () {document.querySelector('.active').className = '';lis[0].className = 'active';find(ipt.value)}

然后就可以输入你想查询的地区了。

(二)获取城市相关指数与空气质量

此页面用来获取地区相关指数,包括运动指数,洗车指数,穿衣指数,钓鱼指数,紫外线指数,旅游指数,过敏指数,舒适度指数等等。

利用了基础的div li h2 span等元素标签进行整体布局,主要利用CSS3 float浮动布局与基础的属性进行样式展现。布局代码如下:

  <div class="box container"><div class="GML container"><i><img src="data:images/addr.png" alt=""></i><span class="dart">北京市,北京市,中国</span><span class="time">08:24更新</span></div><div class="ipt container"><input type="text" placeholder="请输入您想要查询的城市" id="city"><input type="text" placeholder="请输入要查询的内容(数字)" id="matter"><button>查询</button><div class="hint"><i>?</i><ul class="hint_cont"><li><span>1</span>----运动指数</li><li><span>2</span>----洗车指数</li><li><span>3</span>----穿衣指数</li><li><span>4</span>----钓鱼指数</li><li><span>5</span>----紫外线指数</li><li><span>6</span>----旅游指数</li><li><span>7</span>----过敏指数</li><li><span>8</span>----舒适度指数</li><li><span>9</span>----感冒指数</li><li><span>10</span>---空气污染扩散条件指数</li><li><span>11</span>----空调开启指数</li><li><span>12</span>----太阳镜指数</li><li><span>13</span>----化妆指数</li><li><span>14</span>----化妆指数</li><li><span>15</span>----交通指数</li><li><span>16</span>----防晒指数</li></ul></div></div><div class="content container"><div class="top_cont"><div class="info"><span class="fit">不适宜</span><span data-title="name" class="thing">运动</span></div></div><dl class="bot_cont"><dt>温馨提示</dt><dd>紫外线太强了,不宜长时间在户外运动。</dd></dl></div></div>

CSS样式代码如下:

.banner input {border: 1px solid #ccc;padding: 7px 0px;border-radius: 3px;padding-left: 5px;box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s}.banner input:focus {border-color: #66afe9;outline: 0;-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6)}input {margin-top: 21px;}button {text-decoration: none;width: 70px;background-color: rgba(255, 255, 255, .1);height: 30px;margin-left: 10px;text-align: center;color: white;text-transform: uppercase;border-radius: 50px;cursor: pointer;}.ipt .hint {display: inline-block;position: relative;}.ipt .hint i {display: inline-block;text-align: center;width: 15px;cursor: pointer;height: 15px;border-radius: 10px;font-size: 12px;background-color: #00a0e9;}.ipt .hint .hint_cont {display: none;position: absolute;width: 200px;background-color: rgba(255, 255, 255, .8);}.ipt .hint:hover .hint_cont {display: block;}.content {color: rgb(255, 255, 255);text-align: center;}.content .top_cont {width: 300px;height: 300px;margin: 60px auto 0 auto;padding: 35px;border-radius: 185px;background: rgba(0, 0, 0, .15);}.content .top_cont .info {width: 300px;height: 300px;border-radius: 150px;background: rgba(0, 0, 0, .1);}.content .top_cont .info span {display: block;font-size: 50px;font-style: normal;}.content .top_cont .info .fit {padding: 66px 0 30px 0;font-size: 74px;}.content .bot_cont dt {margin: 40px 0 20px 0;font-size: 25px;}.content .bot_cont dd {font-size: 22px;}.banner .links {position: absolute;right: -200px;top: 0;height: 100%;width: 200px;padding: 90px 15px 0 15px;background: rgba(0, 0, 0, .7);z-index: 2;text-align: left;text-align: center;transition: all .7s}.banner .links h2 {color: #fff;}.banner .links a {display: block;margin-top: 30px;padding: 10px 0;width: 100%;font-size: 14px;color: #fff;}.banner .links li:hover {background: rgba(0, 0, 0, .4);}.banner .rests:hover .links {right: 0;}.banner .GML {position: absolute;/*right: 250px;*/top: 35px;text-align: right;font-size: 20px;color: #fff;}.banner .GML i,.banner .GML .dart,.banner .GML .time {display: block;margin: 0 0 20px 0;font-style: normal;}.banner .box {position: relative;}

输入城市和想要获取的相关指数,就可以在下面显示相关提示,以及是否可以去做一些事情的建议。如果不输入查询指数的数据,默认查询运动指数。JavaScript代码如下:

var btn = document.querySelector("button");var city = document.querySelector("#city");var dart = document.querySelector(".dart");var matter = document.querySelector('#matter');var dd = document.querySelector('dd');var fit = document.querySelector('.fit');var thing = document.querySelector('.thing');var time = document.querySelector('.time');function find(value) {console.log(111);var xhr = new XMLHttpRequest();xhr.open("get", "https://geoapi.qweather.com/v2/city/lookup?location=" + value + "&key=bc89ee9752c9420a90ef784b04ff328e");xhr.send();xhr.onreadystatechange = function () {if (xhr.readyState == 4) {var json = JSON.parse(xhr.responseText);var locationId = json.location[0].id;searchWeather(locationId);dart.innerText = "当前城市" + json.location[0].name;}}}btn.onclick = function () {find(city.value);}function searchWeather(id) {var xhr = new XMLHttpRequest();console.log(matter.value, "matter.value");if (matter.value != "") {xhr.open("get", "https://devapi.qweather.com/v7/indices/1d?type=" + matter.value + "&location=" + id + "&key=你的KEY");xhr.send();xhr.onreadystatechange = function () {if (xhr.readyState == 4) {var data = JSON.parse(xhr.responseText).daily;if (data[0].name.length >= 6) {thing.style.fontSize = 30 + 'px';} else {thing.style.fontSize = 50 + 'px';}dd.innerText = data[0].text;fit.innerText = data[0].category;thing.innerText = data[0].name;time.innerText = data[0].date;}}} else {xhr.open("get", "https://devapi.qweather.com/v7/indices/1d?type=1" + "&location=" + id + "&key=你的KEY");xhr.send();xhr.onreadystatechange = function () {if (xhr.readyState == 4) {var data = JSON.parse(xhr.responseText).daily;if (data[0].name.length >= 6) {thing.style.fontSize = 30 + 'px';} else {thing.style.fontSize = 50 + 'px';}dd.innerText = data[0].text;fit.innerText = data[0].category;thing.innerText = data[0].name;time.innerText = data[0].date;}}}}/* 菏泽职业学院19级计算机三班 */

输入想查询指数必须是数字。把鼠标放在“?”就会自动显示。

获取空气质量代码如下,可以根据空气质量来控制文字的颜色变化,背景图也可以根据实施情况进行变化。(图少,放的这几张)

以及空气质量的优缺点和建议。

function searchWeather(id) {var xhr = new XMLHttpRequest();xhr.open("get", "https://devapi.qweather.com/v7/air/now?location=" + id + "&key=你的KEY");xhr.send();xhr.onreadystatechange = function () {if (xhr.readyState == 4) {var data = JSON.parse(xhr.responseText).now;time.innerText = data.pubTime.substring(0, 10);var i = data.aqi;console.log(i)if (i >= 0 && i <= 50) {fit.style.color = 'green';dd.innerText = "空气质量令人满意,基本无空气污";dt.innerText = "各类人群可正常活动";} else if (i > 50 && i <= 100) {fit.style.color = 'yellow';dd.innerText = "空气质量可接受,但某些污染物可能对极少数异常敏感人群健康有较弱影响";dt.innerText = "极少数异常敏感人群应减少户外活动";} else if (i > 100 && i <= 150) {fit.style.color = 'orange';dd.innerText = "易感人群症状有轻度加剧,健康人群出现刺激症状";dt.innerText = "儿童、老年人及心脏病、呼吸系统疾病患者应减少长时间、高强度的户外锻炼";banner.style.background = 'url(images/9.png) 0% 0% / 100% 100% no-repeat';} else if (i > 150 && i <= 200) {fit.style.color = 'red';dd.innerText = "进一步加剧易感人群症状,可能对健康人群心脏、呼吸系统有影响";dt.innerText = "疾病患者避免长时间、高强度的户外锻练,一般人群适量减少户外运动";} else if (i > 200 && i <= 300) {fit.style.color = 'purple';dd.innerText = "心脏病和肺病患者症状显著加剧,运动耐受力降低,健康人群普遍出现症状";dt.innerText = "|儿童、老年人和心脏病、肺病患者应停留在室内,停止户外运动,一般人群减少户外运动";} else if (i > 300) {fit.style.color = 'brown';dd.innerText = "健康人群运动耐受力降低,有明显强烈症状,提前出现某些疾病";dt.innerText = "儿童、老年人和病人应当留在室内,避免体力消耗,一般人群应避免户外活动";}fit.innerText = data.category;}}}

禁止商用,仅可学术讨论。

前端毕业设计 天气预报相关推荐

  1. html前端开发学年论文,web前端毕业设计论文.doc

    web前端毕业设计论文 毕 业 论 文 题目:响应式企业网站设计与实现学生姓名:罗智刚学号:1202012132专业班级:B12计算机科学与技术2班指导教师:李莉企业导师:林志宏二级学院:电气与信息工 ...

  2. 【附源码】Python计算机毕业设计天气预报系统

    项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+Navicat11+Django+nodejs. 项目技术: dj ...

  3. 思政教育平台|学院网站|基于JavaWeb的高校思政教育平台的设计与实现

    作者主页:编程千纸鹤 作者简介:Java.前端.Python开发多年,做过高程,项目经理,架构师 主要内容:Java项目开发.Python项目开发.大学数据和AI项目开发.单片机项目设计.面试技术整理 ...

  4. 如何基于Java实现一套特色民宿平台系统?

    作者简介:全栈开发工程,从事Java.Python.前端.小程序方面的开发和研究,对大数据应用与开发比较感兴趣, 主要内容:Java项目.前端项目.Python项目.小程序开发.大数据项目.单片机 收 ...

  5. Java计算机毕业设计体育网站前端设计源码+系统+数据库+lw文档

    Java计算机毕业设计体育网站前端设计源码+系统+数据库+lw文档 Java计算机毕业设计体育网站前端设计源码+系统+数据库+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开 ...

  6. (附源码)springboot电商系统前端界面设计与浏览器兼容性研究 毕业设计 231058

    基于springboot电商系统前端界面设计 摘  要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势:对于电商系统前端界面设计与浏览器兼容性研究当然也不能排除 ...

  7. 基于JAVAWeb前端开发技术儿童教育网站计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVAWeb前端开发技术儿童教育网站计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVAWeb前端开发技术儿童教育网站计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: ...

  8. spring boot电商系统前端界面设计与浏览器兼容性研究 毕业设计-附源码231058

    摘  要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势:对于电商系统前端界面设计与浏览器兼容性研究当然也不能排除在外,随着网络技术的不断成熟,带动了电商系统前 ...

  9. html 显示天气预报,前端HTML页面获取实时天气预报并展示

    前端HTML页面获取实时天气预报并展示 昨天完成了一个实时显示天气预报的功能,今天在这完记录一下,纯前端layui和JQuery代码.没有后台交互 获取用户打开页面的IP地址进行定位城市. 试了很多方 ...

最新文章

  1. Watson AI遭遇逆风 IBM否认停售:只是转移了重心
  2. phpRedisAdmin 安装
  3. maven安装与创建多模块项目【转】
  4. Spark代码生成技术之现象CodeGenerator
  5. JavaGUI版本销售管理系统
  6. Windows核心编程_Visual Studio2019找不到MFC项目
  7. 通过倍福Twincat的R3IO添加外部C++程序
  8. 正则表达式的例题分析
  9. python制作ico图标_Python 批量 png 转 ico
  10. 大一计算机专业学期计划范文,大一新学期学习计划范文(通用5篇)
  11. 独家:程序员必备Java API和类搜索辅助工具发布
  12. 苹果CMS海螺模板4.0修复版带后台 附安装教程
  13. 023-公平感|领导者的内功
  14. 37-递归求第五个人的年龄
  15. 直流电机控制与TB6612FNG驱动芯片
  16. 不使用第三个变量,交换两个变量值
  17. 字节面试题-小于N的最大数字
  18. 做BI财务数据分析,国产BI软件经验更足
  19. 2022安徽安全员B考试单选题库预测分享
  20. [附源码]Python计算机毕业设计Sketch2Mod网站Django(程序+LW)

热门文章

  1. ‘svn更新‘ 报错:has encountered a problem. org.tigris.subversion.javahl.ClientException
  2. LeetCode算法 删除有序数组中的重复项 删除有序数组中的重复项|| C++
  3. jssdk信息验证失败_微信公众号开发——微信JSSDK使用
  4. 比较器翻转抖动原因及对策
  5. netstat 常用命令
  6. VxWorks启动过程具体解释
  7. Axure 9做原型只能显示为黑白灰色,设置彩色不生效
  8. Excel 制作散点图并添加趋势线
  9. 【最新】Xcode 8 打包教程
  10. 【SoapUI】SoapUI工具简介及安装