【WebApp】使用jquerymobile制作的HTML5 Web App

H5web app移动开发 8套实用漂亮的H5移动开发源码 立即下载

前言

0.什么是jquery mobile ?

jQuery Mobile 是创建移动 web 应用程序的框架; 适用于所有流行的智能手机和平板电脑。

1.什么项目?

提供天气查询和公交信息查询的便民服务AppLink

正文


0.按照惯例上图



1.看代码,注释详细到爆炸,happy.php
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<!--
        	作者:@xiaoping  http://blog.youkuaiyun.com/xiaoping0915
        	时间:2017-02-27
        	描述:提供天气查询和公交信息查询的便民服务
        -->
        <!--解决移动设备的适配问题
        -->
		<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />
       
		<title></title>
		<style type="text/css">
			#index,#bus {
				font-family: "微软雅黑";
			}
		</style>
		<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
		
	</head>
	<body>
		<div data-role="page" id="index">
			<div data-role="header" data-position="fixed">
				<h1>天气查询</h1>
			</div>
			<div data-role="content">
				<div class="ui-field-contain">
					<label>城市</label>
					<p id="tips" style="color: red;" hidden="hidden">填写您所要搜索的城市名</p>
					<input type="text" id="keyword" />
				</div>
				<a id="btnSearch" data-role="button" data-icon="search" data-iconpos="right">搜索</a>
				<div>
					<ul id="result" data-role="listview" data-inset="true">
					</ul>
					<br>
					<table id="table" class="ui-responsive  table-stroke" data-role="table">
						
					</table>
					
				</div>
			</div>
			<div data-role="footer" data-position="fixed">
				<div data-role="navbar">
					<ul>
						<li>
							<a href="#index" id="index"  class="ui-btn-active" data-icon="home">查天气</a>
						</li>
						<li>
							<a href="#bus" id="bus"  data-icon="star">查公交</a>
						</li>
						<li>
							<a href="#"  id="share" data-icon="gear">分享</a>
						</li>
					</ul>
				</div>
			</div>
		</div>
		
		<div data-role="page" id="bus">
			<div data-role="header" data-position="fixed">
				<h1>公交查询</h1>
			</div>
			<div data-role="content">
				<div class="ui-field-contain">
					<label>城市</label>
					<p id="tip1" style="color: red;" hidden="hidden">填写您所要搜索的城市名</p>
					<input type="text" id="city" /><br />
					<label>线路</label>
					<p id="tip2" style="color: red;" hidden="hidden">填写您所要搜索的路线</p>
					<input type="text" id="road" />
				</div>
				<a id="btnSearchBus" data-role="button" data-icon="search" data-iconpos="right">搜索</a>
				<div>
					<ul id="resultBus" data-role="listview" data-inset="true">
					</ul>
					<br>
					
				</div>
			</div>
			<div data-role="footer" data-position="fixed">
				<div data-role="navbar">
					<ul>
						<li>
							<a href="#index" id="index" data-icon="home">查天气</a>
						</li>
						<li>
							<a href="#bus" id="bus" class="ui-btn-active" data-icon="star">查公交</a>
						</li>
						<li>
							<a href="#"  id="share" data-icon="gear">分享</a>
						</li>
					</ul>
				</div>
			</div>
		</div>
		<!-- JavaScript 放置在文档最后面可以使页面加载速度更快 -->
		<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
		<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
		<script type="text/javascript">
			//服务端获取ip 上线使用
			var client_ip = '<?php echo $_SERVER['REMOTE_ADDR'] ?>';
			//前端测试使用 上线屏蔽
			//var client_ip = '59.172.105.58';
			//cors跨域代理  了解详情 -> http://blog.youkuaiyun.com/xiaoping0915/article/details/57557206
			var cors_url = 'http://proxy.e12e.com/?';
			//获取ip接口
			var ip_url = 'http://ip.taobao.com/service/getIpInfo.php?ip=';
			//天气信息接口
			var m_url = 'http://op.juhe.cn/onebox/weather/query?key=3611a1e75f91ff1544fc9f84ec489021&dtype=json&cityname=';
			//公交信息接口
			var bus_url = 'http://op.juhe.cn/189/bus/busline?dtype=&key=1198ca7b9b559f7536b5b824c7fae885&city=';
			//客户所在城市
			var client_city ;
			//在index页面创建前去请求接口拿数据
			$(document).on("pagebeforecreate","#index", function() {
				$.getJSON(cors_url + ip_url + client_ip, function(data, status) {
					//异步调用ip接口获取城市信息
					client_city = data.data.city;
					$('#keyword').val(data.data.city);
					$('#city').val(client_city);
					getCityWeather(data.data.city);
				});
			});
			//在index页面第一次加载完成后执行
			$(document).on('pageinit', "#index", function() {
				//校验input是否合法后搜索天气
				function sw(){
					var $key = $('#keyword').val();
					var $tips = $('#tips');
					if($key === '') {
						$tips.fadeIn();
						return;
					}
					$tips.fadeOut();
					//显示正在加载的图片
					$.mobile.loading("show");
					//查询天气
					getCityWeather($key);
				}
				//绑定按钮点击和回车键按下的事件
				$('#btnSearch').on('click', function() {
					sw();
				});
				$(this).on('keypress',function(even){
					if(even.keyCode === 13){
						sw();
					};
				});
			});
			//在bus页面第一次加载完成后执行
			$(document).on('pageinit','#bus',function(){
				//校验input是否合法后搜索公交路线信息
				function sbus(){
					var $city = $('#city').val();
					var $road = $('#road').val();
					//var $
					var $tip1 = $('#tip1');
					var $tip2 = $('#tip2');
					if($city === '') {
						$tip1.fadeIn();
						return;
					}else if($road === ''){
						$tip2.fadeIn();
						return;
					}
					$tip1.fadeOut();
					$tip2.fadeOut();
					$.mobile.loading("show");
					//查询公交
					getCityBus($city,$road);
				}
				//绑定按钮点击和回车键按下的事件
				$('#btnSearchBus').on('click', function() {
					sbus();
				});
				$(this).on('keypress',function(even){
					if(even.keyCode === 13){
						sbus();
					};
				});
			});
			//天气查询
			function getCityWeather(cityName) {
				//拿到list和table元素并清空
				var $list = $('#result');
				$list.html('');
				var $table = $('#table');
				$table.html('');
				//异步调用查询天气接口
				$.getJSON(cors_url + m_url + cityName, function(data, status) {
					//回调后让加载的小菊花隐藏起来
					$.mobile.loading("hide");
					//JSON对象的操作方式就是 使用 .  的方式链式寻找
					if(data.error_code != 0) {
						//如果返回数据中error_code 不等于 0 则说明调用接口不成功没有得到目标城市的天气信息
						alert(data.reason);
						return;
					}
					//拼接我们所需要的信息
					var $res = '<li><h1>' + data.result.data.realtime.city_name + ' ' + data.result.data.pubdate + ' ' + data.result.data.pubtime + '刷新</h1></li>' +
						'<li>天气  ' + data.result.data.realtime.weather.info + '</li>' +
						'<li>气温  ' + data.result.data.realtime.weather.temperature + '℃</li>' +
						'<li>湿度  ' + data.result.data.realtime.weather.humidity + 'RH</li>' + 
						'<li>风向  ' + data.result.data.realtime.wind.direct + ' ' + data.result.data.realtime.wind.power + '</li>' +
						'<li><h3>PM2.5</h3></li>' +
						'<li>指数  ' + data.result.data.pm25.pm25.pm25 + '  级别  ' + data.result.data.pm25.pm25.level + '  ' + data.result.data.pm25.pm25.quality + '</li>' +
						'<li>详情  ' + data.result.data.pm25.pm25.des + '</li>';
					
					var $tbl = '<thead>' +
							'<tr>'+
								'<th data-priority="6">星期</th>'+
								'<th>天气</th>'+
								'<th data-priority="1">均温</th>'+
								'<th data-priority="2">风向</th>'+
								'<th data-priority="3">风级</th>'+
							'</tr>'+
						'</thead><tbody>' ;
					//遍历一个JsonArray
					$(data.result.data.weather).each(function (index, obj) {
                        $tbl +='<tr>' +
                        	'<td>周'+obj.week+'</td>' + 
                        	'<td>'+obj.info.day[1]+'</td>'+
                        	'<td>'+obj.info.day[2]+'℃</td>' + 
                        	'<td>'+obj.info.day[3]+'</td>' +
                        	'<td>'+obj.info.day[4]+'</td>'+
                        	'<tr/>';
                    });
                    $tbl+='</tbody>';
                    //填充数据并刷新样式
					$list.append($res).listview("refresh");
					$table.append($tbl).table('refresh');
				});
			}
			//查询公交信息
			function getCityBus(cName,roadNum){
				//拿到list元素并清空
				var $list = $('#resultBus');
				$list.html('');
				//异步调用查询公交信息接口
				$.getJSON(cors_url + bus_url + cName + '&bus=' + roadNum,function(data, status){
					//隐藏小菊花
					$.mobile.loading("hide");
					if(data.error_code != 0) {
						alert(data.reason);
						return;
					}
					//获得需要的数据并填充
					var $res = '<li><h1>' + data.result[0].key_name + '路 ' + data.result[0].terminal_name + '~' + data.result[0].front_name + '</h1></li>';
					$(data.result[0].stationdes).each(function (index, obj) {
						$res += '<li> 第' + obj.stationNum + '站: '  + obj.name + '</li>';
					});
					$list.append($res).listview("refresh");
				});
			}
		</script>
		
	</body>

</html>
2.解决的问题
(a)关于移动设备适配问题?
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />
(b)关于ajax跨域问题?
使用cors代理服务var cors_url = 'http://proxy.e12e.com/?'; 了解详情 
(c)优化页面,提升页面加载速度?
将script标签内容后置到</body> 结束标签之前

jQueryMobile-HTML5模板 jquerymobile是用于创建移动 Web 应用的前端开发框架,此资源包含了几套jquerymobile的模板,供新手学习。 立即下载

相关推荐

HTML5+jQuery Mobile模板两套

HTML5+jQuery Mobile模板两套

html5webapp模板源码,HTML5移动WEBAPP果蔬菜类购物手机模板源码

HTML5移动WEBAPP果蔬菜类手机购物模板,适合手机移动端,应用与手机浏览器、微信公众平台;此模板仅供学习参考!资源下载此资源下载价格为4D币,请先登录资源文件列表codedown123-0830-35/404.html,1832codedown123-0830-35/about_us.html,3019codedown123-0830-35/address.html,2042co...

weixin_39530647的博客 849

webapp模板

webapp模板

原生APP处理HTML样式,html5+css3之动画在webapp中的应用

动画在webapp的现状webapp模式的网站追求的就是一个体验,是HTML5&CSS3浪潮下的产物,抛开体验不说,webapp模式门槛比较高;而体验优化的一个重点便是动画,可以说动画是webapp的一个亮点。但也是一个难点,一个痛点,主要原因是:移动端手机的碎片化严重。设备、型号、版本、分辨率等差异导致移动端需要考虑的主流情况达10多种,而Hybrid带来的webview可以让情况更加糟...

weixin_32413167的博客 201

jQuery Mobile 高级设计模板

NULL 博文链接:https://kenkao.iteye.com/blog/1828017

ENVI与Sarscape协同处理哨兵一号数据的完整流程解析

本文详细解析了利用ENVI与Sarscape软件协同处理哨兵一号(Sentinel-1)SAR数据的完整工作流程。从环境搭建、数据导入与裁剪,到核心的DEM辅助多时相配准、斑点噪声滤波,再到最终的地理编码与辐射定标,提供了标准化的操作指南与实用技巧,帮助用户高效地将原始雷达数据转化为可用于分析的地理编码产品。

weixin_29251131的博客 339

妙用html5的八大特性来开发移动webAPP

webAPP的实现基础就是html5+js+css3.但是webAPP还是基于浏览器的微网站开发。 正式如此,我们必须要深入的了解html5的8大特性,这样才能方便我们在开发和设计APP的时候,更合理的采用原生APP与webAPP的相结合。 而APP里面最重要的一个分享功能,分享出去的必须是网页形式的。所以,Html5必须学会。 ...

前端基础入门学习线路 3280

用V E S C 6-M K V I 第六代调速控制器给VESC电调刷固件

文章摘要:本文介绍了一款先进的电机控制器,具备多项创新技术。核心亮点包括三相电流/电压检测、四象限无缝运行、多模式兼容等先进电机控制技术,以及智能感知与安全保护、高效能电源管理、多样化连接与扩展功能。此外,该控制器支持实时数据监测与用户交互,具备开源生态和工业级可靠性,适用于电动载具、机器人及工业领域。用户需注意散热要求和兼容性提示,可通过VESC-Tool软件进行灵活配置。产品可在常竹科技淘宝店购买,并加入技术交流群获取支持。

2403_89422757的博客 1365

html我帮您在线,HTML我帮您WEBAPP在线可视化开发工具

网站演示地址:http://www.diygw.comHTML我帮您WEBAPP在线可视化开发工具是一款在线可视化网站在线设计软件,无须专业知识,通过鼠标拖拽,所见即所得,快速完成手机网页设计和微信场景应用、HTML5轻应用设计;在线DIY产品宣传册、婚礼、在线订单、市场调研、满意度调查、在线简历和各种报名表、反馈表、投诉建议表、申请表、登记表等展示场景应用页面。源码只需要20000元。 ...

weixin_36037280的博客 361

PINN for PDE(偏微分方程)4 - 反向问题 - Burgers’ equation

PINN for PDE(偏微分方程)4 - 反向问题 - Burgers’ equation

m0_62030579的博客 3003

Tesseract OCR 字库训练教程:提高识别率进阶版

通过 Tesseract 字库训练,你可以提高 OCR 对特定文本或字体的识别能力。训练过程包括准备训练数据、生成标签文件、运行训练工具,以及将训练结果集成到实际项目中。虽然训练过程需要一些时间和精力,但对于需要高精度文本识别的场景来说,字库训练是非常有效的提升识别率的方法。

小蜗牛的珍贵百宝箱 1868

jQuery Mobile 实例

jQuery Mobile 是一个基于 jQuery 的轻量级移动设备友好的开发框架,旨在创建响应式、跨平台的移动应用程序和网站。它提供了一套丰富的用户界面组件和触摸优化事件,使得开发者能够快速构建出适用于各种移动设备的用户界面。本篇文章将通过一系列实例,展示如何使用 jQuery Mobile 来创建美观、功能丰富的移动界面。

lsx202406的博客 826

SAR图像去斑(Despeckling)研究的主流开源数据集

这些数据集专门用于训练监督学习去斑模型,提供了配对的含斑SAR图像和对应的无噪声参考图像(Ground Truth)。这些数据集主要用于目标检测/识别,但包含原始SAR图像,可用于。由于缺乏真实无噪声SAR图像,许多研究采用。

VectorShift的博客 129

html5 jquery app,使用 jQuery Mobile 与 HTML5 开发 Web App (二)

这篇文章是使用 jQuery Mobile 与 HTML5 开发 Web App 系列的第二篇,在本文以及接下来的数篇文章 Kayo 将会介绍 jQuery Mobile 的组件、事件响应以及可以调用的方法,而作为该系列的第一篇文章,Kayo 将会先介绍 jQuery Mobile 的基本情况和一些基础的实例。一.jQuery Mobile 的渐进增强设计与浏览器支持在上一篇文章中, Kayo 简...

weixin_39958138的博客 284

100 道大数据开发技术原理与实战面试宝典(必过答案详细解析)I

在数字化浪潮席卷全球的今天,大数据开发工程师已成为企业数字化转型的核心力量。无论是互联网巨头的用户行为分析,还是金融机构的风险控制,亦或是智慧城市的数据中枢,都离不开大数据技术的支撑。然而,面对BAT等头部企业严格的面试要求,候选人不仅需要掌握扎实的理论基础,更需具备将技术落地的实战能力。本文基于历年高频面试题与企业真实场景需求,梳理100道必考题目,涵盖基础概念、框架原理、算法设计、性能优化等核心领域,助你构建完整的知识体系,从容应对面试挑战。

AI天才研究院 1386

PostgreSQL核心原理:数据库崩溃恢复的唯一真相详解

PostgreSQL崩溃恢复机制通过WAL日志确保数据一致性和持久性。核心流程包括:触发恢复(非正常关闭时)、读取控制文件获取检查点LSN、顺序扫描WAL日志进行Redo阶段重做已提交事务、利用MVCC标记未提交事务为ABORTED实现逻辑撤销,最后执行检查点完成恢复。该机制依赖WAL原子性、检查点锚点和无Undo的可见性模型三大支柱,保证即使系统崩溃也能恢复到逻辑一致状态。关键设计包括延迟写入、LSN顺序控制和FPW防部分写,最终通过确定性重放实现ACID特性。

数据知道的博客 2662

html5 app jquery mobile,使用 jQuery Mobile 与 HTML5 开发 Web App (二) —— jQuery Mobile 基础...

这篇文章是使用 jQuery Mobile 与 HTML5 开发 Web App 系列的第二篇,在本文以及接下来的数篇文章 Kayo 将会介绍 jQuery Mobile 的组件、事件响应以及可以调用的方法,而作为该系列的第一篇文章,Kayo 将会先介绍 jQuery Mobile 的基本情况和一些基础的实例。一.jQuery Mobile 的渐进增强设计与浏览器支持在上一篇文章中, Kayo 简...

weixin_42469012的博客 382

2026年3月GESP真题及题解(C++七级): 选择题和判断题(题解)

2026年3月GESP真题及题解(C++七级): 选择题和判断题(题解)

王老师青少年编程 989

使用 jQuery Mobile 与 HTML5 开发 Web App (二) —— jQuery Mobile 基础

这篇文章是使用 jQuery Mobile 与 HTML5 开发 Web App 系列的第二篇,在本文以及接下来的数篇文章 Kayo 将会介绍 jQuery Mobile 的组件、事件响应以及可以调用的方法,而作为该系列的第一篇文章,Kayo 将会先介绍 jQuery Mobile 的基本情况和一些基础的实例。   一.jQuery Mobile 的渐进增强设计与浏览器支持 在上...

Just Code 167

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

使用 jQuery Mobile 与 HTML5 开发 Web App ——开发原则

最近专注研究 jQuery Mobile —— 一款很方便就可以把 Web App 包装成适合 Android 与 iPhone 等触屏移动设备的 Javascript 库,结合 jQuery Mobile 与 HTML5 ,可以很方便的开发出一款具有良好界面及用户体验的 Web App,在这个过程中我收获良多,因此决定针对使用 jQuery Mobile 与 HTML5 开发 Web App

大鹏 1698

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jquery mobile添加html,使用 jQuery Mobile 与 HTML5 开发 Web App —— jQuer

今天开始, “使用jQuery Mobile 与 HTML5 开发 Web App” 的系列文章将会继续,这次要介绍的是 jQueryMobile 的内容格式部分,这也是 jQuery Mobile 的组件部分,包含了基本 HTML 样式(Basic HTMLstyles),主题内容(Theming content),可折叠内容块(Collapsible contentblocks),折叠组(Co...

weixin_42300418的博客 444

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

使用 jQuery Mobile 与 HTML5 开发 Web App —— 01 开发原则

最近专注研究 jQuery Mobile —— 一款很方便就可以把 Web App 包装成适合 Android 与 iPhone 等触屏移动设备的 Javascript 库,结合 jQuery Mobile 与 HTML5 ,可以很方便的开发出一款具有良好界面及用户体验的 Web App,在这个过程中我收获良多,因此决定针对使用 jQuery Mobile 与 HTML5 开发 Web App 写

Ryan Z 的技术日志 1158

使用 jQuery Mobile 与 HTML5 开发 Web App (一) ——开发原则

最近专注研究 jQuery Mobile —— 一款很方便就可以把 Web App 包装成适合 Android 与 iPhone 等触屏移动设备的 Javascript 库,结合 jQuery Mobile 与 HTML5 ,可以很方便的开发出一款具有良好界面及用户体验的 Web App,在这个过程中我收获良多,因此决定针对使用 jQuery Mobile 与 HTML5 开发 Web App 写

bboyjoe的博客 1035

jQuery Mobile 与 HTML5 开发 Web App 系列文章目录

“使用 jQuery Mobile 与 HTML5 开发 Web App”系列文章的数目累积起来也比较多了,为方便大家浏览, Kayo 把这些文章整理成一个目录,收录那些已经写好的文章并会继续更新。 该系列的文章实质上分成四个部分,分别是总体概况、jQuery Mobile 组件、jQuery Mobile 事件与方法以及 HTML5 在 Web App 上的应用。 一.总体概况 ...

199

移动开发-混合App介绍

3种开发类型的原理和对比 什么是混合App(Hybrid App) Hybrid App是指介于web-app(网页APP,如京东web)、native-app(原生应用,如手机上面的APP应用)这两者之间的app,它虽然看上去是一个Native App,但只有一个WebView ( WebView,可以类比成iframe ),里面访问的是一个Web App,就是包了个客户端的壳,其...

Primise7的博客 1万+

使用 jQuery Mobile 与 HTML5 开发 Web App(一) 系列文章目录

“使用 jQuery Mobile 与 HTML5 开发 Web App”系列文章的数目累积起来也比较多了,为方便大家浏览, Kayo 把这些文章整理成一个目录,收录那些已经写好的文章并会继续更新。 该系列的文章实质上分成四个部分,分别是总体概况、jQuery Mobile 组件、jQuery Mobile 事件与方法以及 HTML5 在 Web App 上的应用。 一.总体概况 这部分内容

lxl20052051的专栏 2138
上一篇: 【问题解决】XMLHttpRequest cannot load http://xxx.xxx No 'Access-Control-Allow-Origin'
下一篇: 【JavaEE】SSH全注解
xiaoping0915
博客等级 码龄12年 158粉丝 78原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值