这是一款非常有意思的纯CSS3扁平风格天气预报卡片动画特效。该天气预报特效将各种天气 *** 为卡片形式,包括下雨,闪电,白天,夜间和下雪。卡片使用扁平化风格,并使用CSS3帧动画来 *** 各种动画效果。
*** ***
HTML结构
该特效的HTML结构采用无序列表的HTML结构,其中每一个li.card元素代表一种卡片。
ul class="c841-c890-637a-360d card-list"
li class="c890-637a-360d-3353 card"
div class="637a-360d-3353-7ae9 card-color color-rain"
div class="360d-3353-7ae9-76ad rain"/div
/div
div class="3353-7ae9-76ad-a6da card-info"
p63 ℉/p
plow of 61 ℉/p
/div
/li
......
/ul
复制代码
CSS样式
首先给卡片一些基本样式。
.card {
$.getScript('', function(_result) {
if (remote_ip_info.ret == '1') {
$.ajax({
type: "GET",
url: ""+remote_ip_info.city,
data: "",
success: function(msg){
console.log(msg);
}
});
}
});
//这是我以前开发天气wedget的时候写过的代码,原理是连接到yahoo api(返回XML),先用cityCode查国家 然后用woeid查地方,这是测试时写过的代码。Yahoo 天气api 好像一部分收费 最后没用yahoo 用 weatherbug的api 那个代码忘了存在哪里了,如果 非常着急的话在跟我说吧 我给你找找,还有调用api的原理,一般不会直接调用api 因为每个人访问时都调用一次的话系统受不了。更好写个windows service 每个一段时间调用一次api然后以.xml形式存放到一个文件夹,在系统中只调用xml文件就好了。如果api一时访问不到了也不会出问题。
才看到你想要的是前台代码, 这是后台的
private string GetWeather(string cityCode)
{
string weather = string.Empty;
if (cityCode == "" || string.IsNullOrEmpty(cityCode)) { cityCode = "seoul"; }
XmlDocument document1 = new XmlDocument();
document1.Load(" * from geo.places where text=" + cityCode + "format=xml");
XmlNodeList nodes1 = document1.GetElementsByTagName("woeid");
string strWoeid = nodes1[0].InnerText;
XmlDocument document = new XmlDocument();
document.Load("" + strWoeid + "u=c");
XmlNodeList nodes = document.GetElementsByTagName("forecast",
@"");
foreach (XmlNode node in nodes)
{
Console.WriteLine("日期:{0},星期:{1},天气:{2},温度:{3}°C 至 {4}°C",
node.Attributes["date"].InnerText,
node.Attributes["day"].InnerText,
node.Attributes["text"].InnerText,
node.Attributes["low"].InnerText,
node.Attributes["high"].InnerText);
//FToC(int.Parse(node.Attributes["low"].InnerText)),
// FToC(int.Parse(node.Attributes["high"].InnerText)));
// //woeid
// // * from geo.places where text="Wonju"format=xml
}
return weather;
}
用$.ajax的jsonp *** 请求外部提供的天气预报json文件,返回的数组根据你的需要操作。
首先搜索免费webservice接口,找到天气预报,然后在项目里添加服务引用。
在地址一栏添你网上搜到的XXXX.a *** x,点转到下面会多个服务,以后点确定。
然后在新窗口new一个类,就可以调用 *** 了。
$.getScript('', function(_result) {
if (remote_ip_info.ret == '1') {
$.ajax({
type: "GET",
url: ""+remote_ip_info.city,
data: "",
success: function(msg){
console.log(msg);
}
});
}
});
Atlassian解决了其Jira Seraph软件中的一个严重漏洞,该漏洞编号为CVE-2022-0540(CVSS 评分 9.9),未经身份验证的攻击者可以利用该漏洞绕过身份验证。威胁参与者可以通过向易受攻击的软件发送特制的HTTP 请求来触发漏洞。 该漏洞会对Jira软件多版本产生影响,比如...
对于IT管理员和网络安全团队来说,勒索软件攻击是一场与时间赛跑的关键比赛,以检测和控制损害,同时抢救公司的数据资产的剩余部分。但是,当这种事件发生时,有多少反应时间呢?似乎不是很多。正如对10个候选勒索软件的测试所揭示的那样,一种名叫LockBit的勒索软件效率惊人,在四分钟内就加密了一台Windo...
在俄乌冲突爆发后的一个月时间里,许多组织机构纷纷颁布了针对俄罗斯的制裁。但是对于开源社区来说,将制裁的范围无限扩大,显然并不是声援乌克兰的最佳途径。开放源码倡议(Open Source Initiative)组织指出:尽管大多数软件开发者只是在运行时显示反战或亲乌克兰的信息,但还是有个别项目的维护者...
Hackernews 编译,转载请注明出处: SonicWall 发布了安全更新,其中包含一个跨多个防火墙设备的关键漏洞,未经身份验证的远程攻击者可以将其武器化,以执行任意代码并导致拒绝服务(DoS)情况。 根据CVE-2022-22274 (CVSS 得分: 9.4)的跟踪记录,...
在西方云计算供应商撤出俄罗斯后,俄罗斯面临严峻的IT存储危机,在数据存储耗尽之前,俄罗斯只剩下两个月的时间。这些解决方案是在数字转型部举行的一次会议上提出的,出席会议的有Sberbank、MTS、Oxygen、Rostelecom、Atom-Data、Croc和Yandex的代表。 据俄罗斯新闻媒...
Atlas VPN的新研究显示,全球76%的公司在过去一年中遭遇过服务停机。原因包括系统崩溃、人为错误和网络攻击是造成停机的主要原因。此外,许多IT经理对越来越多的政治驱动的网络攻击感到担忧。 系统崩溃被认为是公司停机的首要原因,52%的人不得不处理这个问题。42.3%的IT经理认为人为错误是导致公...