热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HTML5天气预报运用

jQuery完成输入都市称号,经由过程yahoo的WeatherAPI来猎取当前都市的天气情况。页面展现结果:HTML

jQuery完成输入都市称号,经由过程yahoo的Weather API来猎取当前都市的天气情况。
页面展现结果:
《HTML5 天气预报运用》

HTML












C




输入都市:



































CSS

html,
body {
background-color: #F5F8FC;
height: 100%;
width: 100%;
overflow: hidden;
font-family: 'Open Sans', sans-serif;
}
.info p {
text-align: center;
margin: 10px auto 0px auto;
width: 540px;
color: #4c4c4c;
font-size: 16px;
font-weight: bold;
}
.wrapper {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
max-width: 100%;
max-height: 100%;
overflow: auto;
height: 500px;}
.shadow {
-webkit-box-shadow: 0px 30px 100px 1px rgba(180, 180, 180, 1);
-moz-box-shadow: 0px 30px 100px 1px rgba(180, 180, 180, 1);
box-shadow: 0px 30px 100px 1px rgba(180, 180, 180, 1);
}
.top {
position: relative;
z-index: 0;
background-color: #61c3e6;
height: 300px;
overflow: hidden;
text-align: center;
display: inline-block;
width: 100%;
float: left;
}
.top .btn {
text-align: center;
line-height: 25px;
position: absolute;
color: white;
font-weight: bold;
font-size: 20px;
border-radius: 50%;
border: 1px solid white;
top: 5px;
left: 740px;
cursor: pointer;
text-transform: uppercase;
}
.top img {
position: relative;
z-index: -1;
margin-top: -10px;
margin-bottom: 10px;
width: 275px;
-webkit-filter: invert(100%);
-moz-filter: invert(100%);
filter: invert(100%);
}
.top .deg {
font-weight: bold;
}
.top .text {
text-align: center;
color: white;
margin-bottom: 15px;
margin-top: -70px;
font-size: 25px;
}
.top .text-city{
text-align: center;
color: white;
margin-bottom: 10px;
font-size: 25px;
}
.top input {
position: relative;
z-index: 1;
font-family: 'Open Sans', sans-serif;
width: 210px;
background-color: rgba(0, 0, 0, 0);
border-top: 0px;
border-right:0px;
border-left:0px;
border-bottom:1px solid #F5F8FC;
outline: 0;
}
.top input:focus {
outline: 0;
border: 0px;
}
.bot {
float: left;
background-color: white;
height: 200px;
overflow: hidden;
display: inline-block;
width: 100%;
}
.bot ul {
overflow: hidden;
display: inline-block;
width: 100%;
height: 100%;
list-style-type: none;
padding-top: 30px;
}
.bot ul li {
color: #999999;
float: left;
width: 20%;
text-align: center;
}
.bot ul li:nth-child(1) {
color: #4c4c4c;
}
.bot ul li h1 {
text-transform: uppercase;
font-weight: bold;
}
.bot ul li p {
font-weight: bold;
}
.bot ul li img {
-webkit-filter: invert(60%);
-moz-filter: invert(60%);
filter: invert(60%);
}
.bot ul li:first-child img {
-webkit-filter: invert(30%);
-moz-filter: invert(30%);
filter: invert(30%);
}

Javascript代码

var baseYahooURL = "https://query.yahooapis.com/v1/public/yql?q="
var selectedCity = "北京";
var placeholder = "";
var unit = "c";
$(function(){
init();
})
function init() {
getWoeid(selectedCity);
$('#city').keypress(function() {
if (event.which == 13) {
selectedCity = $('#city').val();
getWoeid(selectedCity);
$('#city').blur();
}
});
$('#btn').click(function() {
if ($('#btn').html() == "F") {
unit = "c";
} else unit = "f";
$('#btn').html(unit.toUpperCase());
getWoeid(selectedCity);
})
$('#city').focus(function(event) {
placeholder = $("#city").val();
$("#city").val("");
$('#city').css("border-bottom", "1px solid #F5F8FC");
});
$('#city').blur(function(event) {
if ($("#city").val() == "") {
$("#city").val(placeholder);
}
});
}
function getWoeid(city) {
var woeidYQL = 'select woeid from geo.placefinder where text="' + city + '"&format=json';
var jsOnURL= baseYahooURL + woeidYQL;
$.getJSON(jsonURL, woeidDownloaded);
}
function woeidDownloaded(data) {
var woeid = null;
if (data.query.count <= 0) {
$('#city').val("No city found");
$('#deg').html("");
setImage(999, $("#big")[0]);
for (var i = 0; i <= 4; i++) {
$('#forecast' + i).html("");
setImage(999, $("#forecastimg" + i)[0]);
$('#forecastdeg' + i).html("");
}
return;
} else if (data.query.count == 1) {
woeid = data.query.results.Result.woeid;
} else {
woeid = data.query.results.Result[0].woeid;
}
getWeatherInfo(woeid);
}
function getWeatherInfo(woeid) {
var weatherYQL = 'select * from weather.forecast where woeid=' + woeid + ' and u = "' + unit + '" &format=json';
var jsOnURL= baseYahooURL + weatherYQL
$.getJSON(jsonURL, weaterInfoDownloaded);
}
function weaterInfoDownloaded(data) {
$('#city').val(selectedCity);
//$('#city').val(data.query.results.channel.location.city);
$('#deg').html(data.query.results.channel.item.condition.temp + " °" + unit.toUpperCase());
setImage(data.query.results.channel.item.condition.code, $('#big')[0]);
for (var i = 0; i <= 4; i++) {
var fc = data.query.results.channel.item.forecast[i];
$('#forecast' + i).html(fc.day);
setImage(fc.code, $("#forecastimg" + i)[0]);
$('#forecastdeg' + i).html((parseInt(fc.low) + parseInt(fc.high)) / 2 + " °" + unit.toUpperCase());
}
}
function setImage(code, image) {
image.src = "http://www.hubwiz.com/course/55a60445a164dd0d75929fbd/";
switch (parseInt(code)) {
case 0:
image.src += "images/icons/Tornado.svg"
break;
case 1:
image.src += "images/icons/Cloud-Lightning.svg"
break;
case 2:
image.src += "images/icons/Wind.svg"
break;
case 3:
image.src += "images/icons/Cloud-Lightning.svg"
break;
case 4:
image.src += "images/icons/Cloud-Lightning.svg"
break;
case 5:
image.src += "images/icons/Cloud-Snow-Alt.svg"
break;
case 6:
image.src += "images/icons/Cloud-Rain-Alt.svg"
break;
case 7:
image.src += "images/icons/Cloud-Snow-Alt.svg"
break;
case 8:
image.src += "images/icons/Cloud-Drizzle-Alt.svg"
break;
case 9:
image.src += "images/icons/Cloud-Drizzle-Alt.svg"
break;
case 10:
image.src += "images/icons/Cloud-Drizzle-Alt.svg"
break;
case 11:
image.src += "images/icons/Cloud-Drizzle-Alt.svg"
break;
case 12:
image.src += "images/icons/Cloud-Drizzle-Alt.svg"
break;
case 13:
image.src += "images/icons/Cloud-Snow-Alt.svg"
break;
case 14:
image.src += "images/icons/Cloud-Snow-Alt.svg"
break;
case 15:
image.src += "images/icons/Cloud-Snow-Alt.svg"
break;
case 16:
image.src += "images/icons/Cloud-Snow-Alt.svg"
break;
case 17:
image.src += "images/icons/Cloud-Hail-Alt.svg"
break;
case 18:
image.src += "images/icons/Cloud-Hail-Alt.svg"
break;
case 19:
image.src += "images/icons/Cloud-Hail-Alt.svg"
break;
case 20:
image.src += "images/icons/Cloud-Fog.svg"
break;
case 21:
image.src += "images/icons/Cloud-Fog.svg"
break;
case 22:
image.src += "images/icons/Cloud-Fog.svg"
break;
case 23:
image.src += "images/icons/Cloud-Fog.svg"
break;
case 24:
image.src += "images/icons/Wind.svg"
break;
case 25:
image.src += "images/icons/Thermometer-Zero"
break;
case 26:
image.src += "images/icons/Cloud.svg"
break;
case 27:
image.src += "images/icons/Cloud-Moon.svg"
break;
case 28:
image.src += "images/icons/Cloud.svg"
break;
case 29:
image.src += "images/icons/Cloud-Moon.svg"
break;
case 30:
image.src += "images/icons/Cloud-Sun.svg"
break;
case 31:
image.src += "images/icons/Moon.svg"
break;
case 32:
image.src += "images/icons/Sun.svg"
break;
case 33:
image.src += "images/icons/Moon.svg"
break;
case 34:
image.src += "images/icons/Sun.svg"
break;
case 35:
image.src += "images/icons/Cloud-Hail-Alt.svg"
break;
case 36:
image.src += "images/icons/Sun.svg"
break;
case 37:
image.src += "images/icons/Cloud-Lightning.svg"
break;
case 38:
image.src += "images/icons/Cloud-Lightning.svg"
break;
case 39:
image.src += "images/icons/Cloud-Lightning.svg"
break;
case 40:
image.src += "images/icons/Cloud-Rain.svg"
break;
case 41:
image.src += "images/icons/Cloud-Snow-Alt.svg"
break;
case 42:
image.src += "images/icons/Cloud-Snow-Alt.svg"
break;
case 43:
image.src += "images/icons/Cloud-Snow-Alt.svg"
break;
case 44:
image.src += "images/icons/Cloud.svg"
break;
case 45:
image.src += "images/icons/Cloud-Lightning.svg"
break;
case 46:
image.src += "images/icons/Cloud-Snow-Alt.svg"
break;
case 47:
image.src += "images/icons/Cloud-Lightning.svg"
break;
case 3200:
image.src += "images/icons/Moon-New.svg"
break;
case 999:
image.src += "images/icons/Compass.svg"
break;
default:
image.src += "images/icons/Moon-New.svg"
break;
}
}

推荐阅读
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • Java Socket 关键参数详解与优化建议
    Java Socket 的 API 虽然被广泛使用,但其关键参数的用途却鲜为人知。本文详细解析了 Java Socket 中的重要参数,如 backlog 参数,它用于控制服务器等待连接请求的队列长度。此外,还探讨了其他参数如 SO_TIMEOUT、SO_REUSEADDR 等的配置方法及其对性能的影响,并提供了优化建议,帮助开发者提升网络通信的稳定性和效率。 ... [详细]
  • POJ 2482 星空中的星星:利用线段树与扫描线算法解决
    在《POJ 2482 星空中的星星》问题中,通过运用线段树和扫描线算法,可以高效地解决星星在窗口内的计数问题。该方法不仅能够快速处理大规模数据,还能确保时间复杂度的最优性,适用于各种复杂的星空模拟场景。 ... [详细]
  • 优化Vite 1.0至2.0升级过程中遇到的某些代码块过大问题解决方案
    本文详细探讨了在将项目从 Vite 1.0 升级到 2.0 的过程中,如何解决某些代码块过大的问题。通过具体的编码示例,文章提供了全面的解决方案,帮助开发者有效优化打包性能。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • 阿里巴巴终面技术挑战:如何利用 UDP 实现 TCP 功能?
    在阿里巴巴的技术面试中,技术总监曾提出一道关于如何利用 UDP 实现 TCP 功能的问题。当时回答得不够理想,因此事后进行了详细总结。通过与总监的进一步交流,了解到这是一道常见的阿里面试题。面试官的主要目的是考察应聘者对 UDP 和 TCP 在原理上的差异的理解,以及如何通过 UDP 实现类似 TCP 的可靠传输机制。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • 在分析和解决 Keepalived VIP 漂移故障的过程中,我们发现主备节点配置如下:主节点 IP 为 172.16.30.31,备份节点 IP 为 172.16.30.32,虚拟 IP 为 172.16.30.10。故障表现为监控系统显示 Keepalived 主节点状态异常,导致 VIP 漂移到备份节点。通过详细检查配置文件和日志,我们发现主节点上的 Keepalived 进程未能正常运行,最终通过优化配置和重启服务解决了该问题。此外,我们还增加了健康检查机制,以提高系统的稳定性和可靠性。 ... [详细]
  • 在 Android 开发中,`android:exported` 属性用于控制组件(如 Activity、Service、BroadcastReceiver 和 ContentProvider)是否可以被其他应用组件访问或与其交互。若将此属性设为 `true`,则允许外部应用调用或与之交互;反之,若设为 `false`,则仅限于同一应用内的组件进行访问。这一属性对于确保应用的安全性和隐私保护至关重要。 ... [详细]
  • 本文深入解析了JDK 8中HashMap的源代码,重点探讨了put方法的工作机制及其内部参数的设定原理。HashMap允许键和值为null,但键为null的情况只能出现一次,因为null键在内部通过索引0进行存储。文章详细分析了capacity(容量)、size(大小)、loadFactor(加载因子)以及红黑树转换阈值的设定原则,帮助读者更好地理解HashMap的高效实现和性能优化策略。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 在Conda环境中高效配置并安装PyTorch和TensorFlow GPU版的方法如下:首先,创建一个新的Conda环境以避免与基础环境发生冲突,例如使用 `conda create -n pytorch_gpu python=3.7` 命令。接着,激活该环境,确保所有依赖项都正确安装。此外,建议在安装过程中指定CUDA版本,以确保与GPU兼容性。通过这些步骤,可以确保PyTorch和TensorFlow GPU版的顺利安装和运行。 ... [详细]
  • 如何使用 `org.apache.poi.openxml4j.opc.PackagePart` 类中的 `loadRelationships()` 方法及其代码示例详解 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
author-avatar
Kira玄玄
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有