<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>index.html</title><!--初始化显示,可视窗宽度与设备宽度一致;不允许缩放-->
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="stylesheet" href="css/jquery.mobile-1.4.3.css">
<script src="js/jquery-1.11.1.js"></script><!--注意顺序:css-jq-jq mobile,jq必须是1.8版本以后-->
<script src="js/jquery.mobile-1.4.3.js"></script>
<script>
$(document).on("pageinit","#index",function(){
$("#ajaxBtn").on("click",function(){
$.mobile.loading("show");//点击请求之后,显示正在加载的图标
$.ajax({
type:"get",
url:"http://crossorigin.me/http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getStationAndTimeDataSetByLikeTrainCode?TrainCode=G1&UserID=",

success:function(data){
console.log(data);
$.mobile.loading("hide"); //成功之后将图标隐藏
}

});
});
});

</script>
</head>
<body> <!-- //data属性用于创建外观
在一个html中可以创建多个页面,通过id分隔每个页面,用href属性链接彼此。-->
<!--data-transition="";设置过渡效果,属性值:slide:右到左(默认);slideup:向上滑动;slidedown:向下滑动;none:没有效果 -->
<div data-role="page" id="index" data-transition="slide"> <!-- index代表首页,默认显示 -->
<div data-role="header" >
<h1>我是标题1</h1>
<div data-role="navbar">
<ul>
<li><a href="###" data-icon="camera">首页</a></li>
<li><a href="###" data-icon="carat-l">搜索</a></li>
<li><a href="###" data-icon="carat-r">查询</a></li>
</ul>
</div>
</div>
<div role="main" class="ui-content" >
<!--<p><a href="#index2">我是内容1</a></p>
<ul data-role="listview" data-inset="true">
<li><a href="###">
<h3>G次</h3>
<p>南宁-广州</p>
<p class="ui-li-aside">9:00开</p>
</a></li>
<li><a href="###">项目2</a></li>
<li><a href="###">项目3</a></li>
<li><a href="###">项目4</a></li>
</ul>
<form action="###">
<div class="ui-field-contain">
<label for="start">发车站</label>
<input type="text" name="start" id="start">
</div>
<div class="ui-field-contain">
<label for="end">终点站</label>
<input type="text" name="end" id="end">
</div>
<div class="ui-field-contain">
<label for="num">车次</label>
<input type="text" name="num" id="num">
</div>
</form>

<table data-role="table" data-mode="reflow" class="ui-responsive table-stroke">
<thead>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
</thead>
<tbody>
<tr>
<td>小红</td>
<td>90</td>
<td>86</td>
<td>78</td>
</tr>
<tr>
<td>小明</td>
<td>99</td>
<td>80</td>
<td>60</td>
</tr>
</tbody>
</table>
</div>-->
<div data-role="footer">
<h1>我是页脚1</h1>
<div data-role="navbar">
<ul>
<li><a href="javascript:void(0)">查询</a></li>
<li><a href="javascript:void(0)">收藏</a></li>
<li><a href="javascript:void(0)">设置</a></li>
</ul>
</div>
</div>

<input type="button" value="点我加载" id="ajaxBtn">

</div>

<div data-role="page" id="index2">
<div data-role="header" > <!-- index代表首页,默认显示 -->
<h1>我是标题2</h1>
</div>
<div role="mail" class="ui-content" >
<p><a href="#index">我是内容2</a></p>
</div>
<div data-role="footer">
<h1>我是页脚2</h1>
</div>
</div>

</body>
</html>
一、jquery mobile页面事件:
页面初始化事件:
pageboforecreate: 页面即将初始化的时候
pagecreate 页面已经创建,但是还没有加载元素之前
pageinit 页面完成了所有dom的加载之后

页面加载事件:
pageboforeload 页面加载请求之前
pageload 加载成功,并插入到dom中

页面过渡事件:page transition (假如从页面a过渡到页面b,那么执行顺序为2 4 3 1)
pageboforeshow:2在过渡动画开始之前
pageshow 4 :过渡动画完成之后
pageboforehide:1
pagehide:3

区别:
pageinit:页面初始化时,只执行一次
pageshow:页面显示的时候每次都会执行

二、按钮:
创建按钮:
如果是a button input则添加class="ui-btn"
如果是其它元素,则添加data-role="button"
<a class="ui-btn ui-btn-inline ui-btn-a">点击</a>
<input type="submit" value="按钮"> input已经默认是按钮,并且已经默认有圆角和阴影,其它则没有。

按钮样式:
ui-corner-all圆角
ui-shadow 阴影
ui-btn-inline 并排显示
ui-btn-a 换皮肤
ui-btn-b 换皮肤

三、导航栏(导航栏有一组水平排列的链接构成,通常位于页眉或者页脚)
1、使用data-role="navbar",导航栏中的链接会自动转换为按钮。
2、在页眉和页脚中使用data-position="fixed",导航栏就会固定在上部和下部,不随滚动滚动。
3、导航栏如果5个以内就会显示在同一排,查过5个,就会分成多。
4、给导航栏增加图标:data-icon="",默认在文字上方,具体样式可参考官方文档。

<div data-role="header" data-position="fixed">
<div data-role="navbar">
<ul>
<li><a href="###" data-icon="carat-l">首页</a></li>
<li><a href="###" data-icon="carat-r">搜索</a></li>
<li><a href="###" data-icon="camera">查询</a></li>
</ul>
</div>
</div>

四、列表
只需要在ul、ol中使用data-role="listview",就会自动变成有样式的列表,如果使用data-inset="true",四周就会自动增加外边距。
添加class="ui-li-aside",就会显示到右上角。
<div role="main" class="ui-content" >
<p><a href="#index2">我是内容1</a></p>
<ul data-role="listview" data-inset="true">
<li><a href="###"><p class="ui-li-aside">9:00开</p></a></li>
<li><a href="###">项目2</a></li>
<li><a href="###">项目3</a></li>
<li><a href="###">项目4</a></li>

</ul>
</div>

五、表单
1、每个input都要有一个label,一个name和一个id。
2、为每一个input增加class="ui-field-contain",就可以让表单自适应。
<form action="###" methor="post" id="myForm">
<div class="ui-field-contain">
<label for="start">发车站</label>
<input type="text" name="start" id="start">
</div>
<div class="ui-field-contain">
<label for="end">终点站</label>
<input type="text" name="end" id="end">
</div>
<div class="ui-field-contain">
<label for="num">车次</label>
<input type="text" name="num" id="num">
</div>
</form>

六、表格
回流表格: <table data-role="table" data-mode="reflow" class="ui-responsive" ></table>
再添加一个class="table-stroke",就会自动增加下划线。

<table data-role="table" data-mode="reflow" class="ui-responsive table-stroke">
<thead>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
</thead>
<tbody>
<tr>
<td>小红</td>
<td>90</td>
<td>86</td>
<td>78</td>
</tr>
<tr>
<td>小明</td>
<td>99</td>
<td>80</td>
<td>60</td>
</tr>
</tbody>
</table>

七、事件
jq-mobile中可以使用jq中任何标准的jq事件,此外还有一些专门为移动浏览定制的事件。
触摸事件:
touch(用户在触摸屏幕时发生)
tap(用户在短暂敲击某个元素时触发)
taphold(用户在敲击某个元素并保持一秒以上时触发,即长按)
swipe:在某个元素上水平滑动超过30px时触发

滚动事件:上下滚动时 scrollstart(开始滚动页面时)scrollstop(停止滚动时)
方向事件:垂直或水平旋转
页面事件:页面被显示、隐藏、创建、加载或卸载时
pageinit(初始化完成)
pageload(加载完成)
pageshow(显示完成)

注意:在jq中使用$(document).ready(function(){});
在jq mobile中使用$(document).on("pageinit","#page",function(){});
表示页面已经初始化并完善样式设置后发生

八、ajax
跨域问题:如果可以修改后台的话,返回格式为:jsonp;并添加参数:callback=xxx;服务器返回xxx(...);
如果没办法修改后台,可以使用其他的跨域中转如:http://crossorigin.me/和http://atcors.herokuapp.com/;
<input type="button" value="点我加载" id="ajaxBtn">
<script>
$(document).on("pageinit","#index",function(){//参数1:初始化完成后,参数2:某个页面的id;参数3:回调函数
$("#ajaxBtn").on("click",function(){
$.mobile.loading("show");//点击请求之后,显示正在加载的图标
$.ajax({
type:"get",
url:"http://crossorigin.me/http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getStationAndTimeDataSetByLikeTrainCode?TrainCode=G1&UserID=",
success:function(data){
console.log(data);
$.mobile.loading("hide"); //成功之后将图标隐藏
}

});
});
});
</script>

jquery mobile 学习总结的更多相关文章

  1. jQuery Mobile 学习

    jQuery Mobile 学习系列 http://blog.csdn.net/bao990423420/article/details/13995021

  2. jQuery Mobile学习日记之HelloWorld

    这里是本人学习jQuery Mobile的过程,主要用于记录,过程中有不对的地方或不严谨的地方,欢予以指出纠正,非常感谢! 1.首先是下载安装以下文件: [Opera Mobile Emulator] ...

  3. Jquery Mobile 学习笔记(一)

    1.模拟器,IOS:XCODE GENYMOTION  ANDROID:ECLIPSE GENYMOTION 2.jquery mobile data-role=page 代表一个页面 data-po ...

  4. Jquery mobile 学习笔记

    最近学习移动开发,接触到了phonegap,然后又需要开始学习jquery mobile.掌握两者是开发轻应用的前提 在学习jquery mobile中,遇到了许多问题让初学者很是头疼,无意间找到这个 ...

  5. Android+Jquery Mobile学习系列(9)-总结和代码分享

    经过一个多月的边学习边练手,学会了Android基于Web开发的毛皮,其实开发过程中用Android原生API不是很多,更多的是HTML/Javascript/Css. 个人觉得基于WebView的J ...

  6. Android+Jquery Mobile学习系列(6)-个人信息设置

    本节开始,进行代码的实战练习.我的这个App是管理保险客户信息的,数据采用Sqlite存储在本地手机上,第一次使用需要先登记自己的个人信息,这个功能非常简单,也无关紧要,我是拿这个练手,方便做后面复杂 ...

  7. Android+Jquery Mobile学习系列(2)-HTML5/Jquery Mobile基础

    本章介绍两个关键字[HTML5]和[Jquery Mobile],简单说这两者的关系是:HTML5作为主体,Jquery Mobile在HTML5的基础上对其进行了优化.装饰. HTML5 HTML5 ...

  8. Android+Jquery Mobile学习系列-目录

    最近在研究学习基于Android的移动应用开发,准备给家里人做一个应用程序用用.向公司手机移动团队咨询了下,觉得使用Android的WebView上手最快,因为WebView等于是一个内置浏览器,可以 ...

  9. jQuery Mobile学习笔记

    1.获取jQuery mobile 文件,访问jQuerymobile网站下载 (貌似使用jquery mobile后,jquery会自动在网页中添加一些class类,第一次知道的我是被吓呆的!!) ...

  10. jQuery Mobile学习日记(二)

    首先依HTML5方式加载,DOCTYPE表示格式为HTML5:主要适用于iPhone.Android等,viewport表示适用于移动终端的适中显示,initial-scale缩放比例在1.0~1.3 ...

随机推荐

  1. cocos2dx win打包apk

    1.配置环境(未完) 2. eclipse 导入项目之后配置 Builder新建两个.一个是ndk目录下的 ndk-build.cmd  ,一个是自己写的build_native.bat 拷贝资源的 ...

  2. 八大排序算法之三选择排序—简单选择排序(Simple Selection Sort)

    基本思想: 在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换:然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素 ...

  3. 杭电1019-Least Common Multiple

    #include<stdio.h>int gcd(int a,int b);int main(){    int n,m,a,b,i,sum;//sum是最小公倍数    scanf(&q ...

  4. c# XML省市联动

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  5. 实现Fragment的切换和ViewPager自动循环设置切换时间

    1.FragmentActivity与Fragment之间的用法 2.实现ViewPager自动轮换,设置移动的时间 通过反射获取mScrooler这个对象: Field mScroller; mSc ...

  6. Poj(1220),hash

    题目链接:http://poj.org/problem?id=1200 这个题,我真是无限MLE,RE,WA,太伤心了,还是写一下吧.题意很简单(英语很好读),最后看了一下金海峰的思路.果然,应该是我 ...

  7. lhgdialog在打开的窗口里点击按钮关闭当前窗口

    lhgdialog在打开的窗口里点击按钮关闭当前窗口 var api = frameElement.api, W = api.opener; api.close();

  8. BFC——一个我们容易忽视掉的布局神器

      今天给大家说说BFC这个概念,在说概念前,先给大家看个例子: 首先,定义三个div块元素   效果: 我们发现,块级元素的排列顺序是从上往下,一块接着一块,在w3c中,是这样解释block-lev ...

  9. iq 格式分析

    po iq {type:1 name:iq xml:"<iq xmlns="jabber:client" to="testhjy@ecouser.net/ ...

  10. ViewState 视图状态对象实例

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DemoViewState. ...