jQuery mobile实现简单的web app

jquery mobile(JQM)

官网:http://jquerymobile.com/
jquery mobile需要依赖于jQuery 具体看官网下载下方会有提示需要什么版本以上的jQuery

如何编写一个基础的web app

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Examples</title>
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<link href="css/jquery.mobile-1.4.5.min.css" rel="stylesheet">
</head>
<body>
 <div data-role="page">
        <div data-role="header">
            <h1>我是标题</h1>
        </div>
        <div role="main" class="ui-content">
            <p>我是内容</p>
        </div>
        <div data-role="footer">
                <h2>我是底部</h2>
        </div>
    </div>

    <script src="script/jquery-1.11.3.js"></script>
    <script src="script/jquery.mobile-1.4.5.min.js"></script>
</body>
</html>

当需要多页面时,在body中编写为

<div data-role="page" id="index">
        <div data-role="header">
            <h1>我是标题</h1>
        </div>
        <div role="main" class="ui-content">
            <p>我是内容</p>
            <p><a href="#index2" title="">index2</a></p>
        </div>
        <div data-role="footer">
            <h2>我是底部</h2>
        </div>
    </div>

    <div data-role="page" id="index2">
        <div data-role="header">
            <h1>我是标题</h1>
        </div>
        <div role="main" class="ui-content">
            <p>我是内容</p>
            <p><a href="#index" title="">index</a></p>
        </div>
        <div data-role="footer">
            <h2>我是底部</h2>
        </div>
    </div>

页面过渡效果:

这时简单的页面切换淡入淡出就已经做成了
如果你想让切换时的效果不同时可以在a标签中编写
<a href="#index" data-transition="slide" title="">index</a> 这时就是翻页效果
    当然效果有什么多,比如:    fade:默认值,渐变褪色的动画效果
                slide:从右往左滑动的动画效果
                slideup:向上滑动的动画效果
                slidedown:向下滑动的动画效果
                pop:以弹出的效果打开页面
                flip:旧页飞出,新页飞入的动画效果

jquery mobile页面事件

页面初始页面
Page Initalization - 在页面创建前,当页面创建时,在页面初始化后
            (pagebeforecreate,  pagecreate,  pageinit)

js编写:
    $(document).on('pagebeforecreate',fn)


页面加载事件
Page Load/Unload - 当外部页面加载时,卸载时或遭遇失败时
            (pagebeforeload,  pageload)

页面过渡事件
Page Transition - 在页面过渡之前和之后
(pagebeforeshow, pageshow, pagebeforehide, pagehide)

js编写:
    $(document).on('pagebeforeshow',id,fn)  在页面过渡时需要添加id

jquery mobile 创建按钮

通过给a、button或者input元素添加样式
(或者增加data-role="button"),可以创建按钮

<a href="#" class="ui-btn">按钮</a>
<button class="ui-btn">按钮</button>

data-role="button"  是优化过的哦

如果想自己设置按钮也是可以的,在class中添加
    ui-corner-all   圆角
    ui-shadow   阴影
    ui-btn-inline   按钮并排显示
    ui-btn-a    按钮不同的样式(白色按钮)
    ui-btn-b    按钮不同的样式(黑色按钮)

jquery mobile 创建导航栏

导航栏中的链接会自动转换为按钮
使用data-role="navbar"属性来定义导航栏

如果想让上下导航栏固定在上下
就在header和footer中添加data-position="fixed"属性就可以固定了

当按钮大于5个时 按钮会进行换行

如何添加导航栏图标
data-icon属性

jquery mobile 列表

如需创建列表,需向<ol>或<ul>元素添加data-role="listview"
如需使这些项目可点击,在每个列表项<li>中规定链接

ul中输入data-inset="true" 列表不会贴边显示

如果想让ui中的内容浮动到右上角 需要在内容元素中添加class="ui-li-aside"
<ul>
    <li>
        <a href="#" title="">
                        <h2>G1</h2>
                        <p>北京南 - 上海虹桥</p>
                        <p>用时:4:48</p>
                        <p class="ui-li-aside">09:00:00 开</p>
                </a>
    </li>
</ul>

jquery mobile 表单

使用原生的HTML即可
<form>
            <label>发车站</label>
            <input type="text" name="" >
            <label>到达车站</label>
            <input type="text" name="" >
            <label>车次</label>
            <input type="text" name="" >
    </form>

如需自适应
宽屏幕为:480px以上
窄屏幕为:480px以下

编写代码为:class="ui-field-contain"

***要保证表单的ID为唯一的

jquery mobile 表格

reflow table mode   回流表格模式

编码样式
<table data-role="table" data-mode="reflow" class="ui-responsive table-stroke">

jquery mobile 事件

在jquery mobile 中可以使用任何标准的jQuery事件

jquery mobile 还提供若干为移动浏览定制的事件
    触摸事件 - 当用户触摸屏幕时触发(敲击和滑动)
    滚动事件 - 当上下滚动时触发
    方向事件 - 当设备垂直或水平旋转时触发
    页面事件 - 当页面被显示、隐藏、创建、加载或卸载时触发

    Touch事件在用户 触摸屏幕(页面)时 触发
    tap事件在用户 敲击某个元素时 触发
    taphold事件在用户 长按时 被触发
    swipe事件在用户 在某个元素上水平滑动超过30px 时被触发
    scrollstart事件在用户 开始滚动页面 时被触发
    scrollstop事件在用户 停止滚动页面 时被触发......

事件中特别注意

在jQuery中:
$(document).ready(function(){
    //此处是jQuery事件
})

在jquery mobile中:
$(document).on("pageinit","#page",function(){...})
建议用pageinit

jquery mobile Ajax

jquery mobile使用Ajax和在jQuery中一致
如果在请求时想显示转圈加载的样式
在点击按钮时Ajax获取前编写:$.mobile.loading("show");
        获取后编写:$.mobile.loading("hide");

小赠品http://www.webxml.com.cn/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容

  • 摘要 JQuery Mobile是针对智能手机和平板电脑创建的移动Web App开发框架,它的出现填补了JQuer...
    LiuXiaobing阅读 3,307评论 0 15
  • 原文链接 http://blog.poetries.top/2016/10/20/review-jQuery 关注...
    程序员poetry阅读 16,630评论 18 503
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,147评论 0 1
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,316评论 0 2
  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    程序员poetry阅读 114,107评论 24 450