8-2 jQuery Mobile 基本组件

页面

页面使用例子

<body>
    <div data-role="page">
        <div data-role="header">
            <h1>欢迎访问我的主页 </h1>
        </div>
        <div data-role="content">
            <p>我是一名移动开发者!</p>
        </div>
        <div data-role="footer">
            <h1> 页脚文本</h1>
        </div>
    </div>
</body>

例子解释

  • data-role="page" 是显示在浏览器中的页面
  • data-role="header" 创建页面上方的工具栏(常用于标题和搜索按钮)
  • data-role="content" 定义页面的内容,比如文本、图像、表单和按钮,等等
  • data-role="footer" 创建页面底部的工具栏

多页面 和 页面跳转

例子

<div data-role="page" id="pageone">
  <div data-role="content">
    <a href="#pagetwo">转到页面二</a>
  </div>
</div>

<div data-role="page" id="pagetwo">
  <div data-role="content">
    <a href="#pageone">转到页面一</a>
    <a href="externalfile.html">转到外部页面</a>
    <a href="#pageone" data-rel="dialog">以弹窗的形式打开页面一</a>
  </div>
</div>

例子解释

  • 通过ID可以区分不同页面
  • 在链接使用 #页面名 可以跳转到不同页面
  • 如果需要跳转到外部页面的话 需要指定页面地址
  • 使用 ** data-rel="dialog" ** 参数可以 以弹框的形式打开新页面

页面过渡效果

浏览器支持

  • Internet Explorer 10 支持 3D 转换(更早的版本不支持)
  • Opera 仍然不支持 3D 转换

主要是通过 data-transition属性来实现的

例子

<!DOCTYPE html>
<html>
    
    <head>
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css">
        <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
    </head>
    
    <body>
        <div data-role="page" id="pageone">
            <div data-role="header">
                <h1>欢迎来到我的主页</h1>
            </div>
            <div data-role="content">
                <p>点击链接来查看滑动效果(从右向左滑动到下一页) </p>
                <a href="#pagetwo" data-transition="slide">滑动到页面二</a>
            </div>
            <div data-role="footer">
                <h1>页脚文本</h1>
            </div>
        </div>
        <div data-role="page" id="pagetwo">
            <div data-role="header">
                <h1>欢迎来到我的主页 </h1>
            </div>
            <div data-role="content">
                <p>点击链接来查看反向的滑动效果(从左向右滑动到前一页)</p>
                <a href="#pageone" data-transition="slide" data-direction="reverse">滑动到页面一(反向)</a>
            </div>
            <div data-role="footer">
                <h1>页脚文本</h1>
            </div>
        </div>
    </body>
</html>

例子解释

  • **data-transition="slide" ** 设置页面切换效果, 从右向左滑动到下一页。
  • data-direction="reverse" 通过设置 reverse 可以进行反方向切换。
  • 页面默认是淡入淡出到下一页, 即 fade;

data-transition 可使用的值

过渡 描述
fade 默认。淡入淡出到下一页。
flip 从后向前翻动到下一页。
flow 抛出当前页面,引入下一页。
pop 像弹出窗口那样转到下一页。
slide 从右向左滑动到下一页。
slidefade 从右向左滑动并淡入到下一页。
slideup 从下到上滑动到下一页。
slidedown 从上到下滑动到下一页。
turn 转向下一页。
none 无过渡效果。

按钮

jQuery Mobile 中的按钮可通过三种方法创建:

    使用 <button> 元素
    <button>按钮</button>

    使用 <input> 元素
    <input type="button" value="按钮">

    使用 data-role="button" 的 <a> 元素
    <a href="#" data-role="button">按钮</a>

注意:
在 jQuery Mobile 中,按钮会自动样式化,让它们在移动设备上更具吸引力和可用性。我们推荐您使用带有 data-role="button" 的 < a> 元素在页面间进行链接,使用 <input> 或 <button> 元素进行表单提交。

导航按钮

如需通过按钮来链接页面,请使用 data-role="button" 的 < a > 元素

<a href="#pagetwo"data-role="button">转到页面二</a>

行内按钮

默认情况下,按钮会占据屏幕的全部宽度。如果您需要按钮适应其内容,或者如果您需要两个或多个按钮并排显示,请添加 data-inline="true"

<a href="#pagetwo" data-role="button"data-inline="true">转到页面二</a>

组合按钮

jQuery Mobile 提供了对按钮进行组合的简单方法。
请将 data-role="controlgroup" 属性与 data-type="horizontal|vertical" 一同使用,以规定水平或垂直地组合按钮

<divdata-role="controlgroup" data-type="horizontal"> 
    <a href="#anylink" data-role="button">按钮 1</a> 
    <a href="#anylink" data-role="button">按钮 2</a> 
    <a href="#anylink" data-role="button">按钮 3</a>
</div>

提示:默认情况下,组合按钮是垂直分组的,彼此间没有外边距和空白。并且只有第一个和最后一个按钮拥有圆角,在组合后就创造出了漂亮的外观。

后退按钮

如需创建后退按钮,请使用 data-rel="back" 属性(会忽略锚的 href 值)

<a href="#" data-role="button" data-rel="back" >返回</a>

按钮实例

<!DOCTYPE html>
<html>
    
    <head>
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css">
        <script src="http://code.jquery.com/jquery-1.8.3.min.js">
        </script>
        <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js">
        </script>
    </head>
    
    <body>
        <div data-role="page" id="pageone">
            <div data-role="header">
                <h1>
                    这里是导航按钮
                </h1>
            </div>
            <div data-role="content">
                <a href="#pagetwo" data-role="button" data-transition="slide">
                    转到页面二
                </a>
            </div>
            <div data-role="footer">
                <h1>
                    这里是导航按钮END
                </h1>
            </div>
        </div>
        <div data-role="page" id="pagetwo">
            <div data-role="header">
                <h1>
                    这里是行内按钮
                </h1>
            </div>
            <div data-role="content">
                <p>
                    再见!
                </p>
                <a href="#pagethree" data-role="button" data-inline="true">
                    转到页面三
                </a>
                <a href="#pagethree" data-role="button" data-inline="true">
                    转到页面三
                </a>
                <a href="#pagethree" data-role="button" data-inline="true">
                    转到页面三
                </a>
            </div>
            <div data-role="footer">
                <h1>
                    页脚文本
                </h1>
            </div>
        </div>
        <div data-role="page" id="pagethree">
            <div data-role="header">
                <h1>
                    分组按钮
                </h1>
            </div>
            <div data-role="content">
                <div data-role="controlgroup" data-type="horizontal">
                    <p>
                        水平分组:
                    </p>
                    <a href="#pagefour" data-role="button">
                        转到页面四
                    </a>
                    <a href="#pagefour" data-role="button">
                        转到页面四
                    </a>
                    <a href="#pagefour" data-role="button">
                        转到页面四
                    </a>
                </div>
                <br>
                <div data-role="controlgroup" data-type="vertical">
                    <p>
                        垂直分组(默认):
                    </p>
                    <a href="#pagefour" data-role="button">
                        转到页面四
                    </a>
                    <a href="#pagefour" data-role="button">
                        转到页面四
                    </a>
                    <a href="#pagefour" data-role="button">
                        转到页面四
                    </a>
                </div>
            </div>
            <div data-role="footer">
                <h1>
                    页脚文本
                </h1>
            </div>
        </div>
        <div data-role="page" id="pagefour">
            <div data-role="header">
                <h1>
                    后退按钮实例
                </h1>
            </div>
            <div data-role="content">
                <a href="#" data-role="button" data-rel="back">
                    后退
                </a>
            </div>
            <div data-role="footer">
                <h1>
                    页脚文本
                </h1>
            </div>
        </div>
    </body>

</html>

用于按钮的 data-*常用属性

|属性 | 值 | 描述|
|:---||:---||:---|
|data-corners | true OR false | 规定按钮是否有圆角。 |
|data-mini | true OR false | 规定是否是小型按钮。 |
|data-shadow | true OR false | 规定按钮是否有阴影。 |

jQuery Mobile Data 属性

http://www.w3school.com.cn/jquerymobile/jquerymobile_ref_data.asp


按钮图标

如需向您的按钮添加图标,请使用 data-icon 属性

语法

<a href="#anylink" data-role="button" data-icon="search">搜索</a>
<button data-icon="search">test</button>
<input type='button' data-icon="search" value='test' /> 

例子

<!DOCTYPE html>
<html>
    
    <head>
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css">
        <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
    </head>
    
    <body>
        <div data-role="page" id="pageone">
            <div data-role="header">
                <h1>
                    带有图标的按钮
                </h1>
            </div>
            <div data-role="content">
                <a href="#home" data-role="button" data-inline="true" data-rel="dialog"  data-icon="home">
                    首页
                </a>
                <a href="#options" data-role="button" data-inline="true" data-rel="dialog" data-icon="grid">
                    选项
                </a>
                <a href="#search" data-role="button" data-inline="true" data-rel="dialog" data-icon="search">
                    搜索
                </a>
                <a href="#pagetwo" data-role="button" data-icon="arrow-r" data-iconpos="right">
                    下一页
                </a>
                <a href="#info" data-role="button" data-rel="dialog" data-icon="info" data-iconpos="top">
                    信息
                </a>
            </div>
            <div data-role="footer">
                <h1>
                    页脚文本
                </h1>
            </div>
        </div>
        <div data-role="page" id="pagetwo">
            <div data-role="header">
                <h1>
                    带有图标的按钮
                </h1>
            </div>
            <div data-role="content">
                <a href="#pageone" data-role="button" data-icon="back" data-inline="true">
                    返回
                </a>
                <a href="#pageone" data-role="button" data-icon="arrow-l">
                    上一页
                </a>
                <a href="#info" data-role="button" data-rel="dialog" data-icon="info" data-iconpos="top">
                    信息
                </a>
            </div>
            <div data-role="footer">
                <h1>
                    页脚文本
                </h1>
            </div>
        </div>
        <div data-role="page" id="home">
            <div data-role="header">
                <h1>
                    首页
                </h1>
            </div>
            <div data-role="content">
                <p>
                    家是心之所在!
                </p>
                <a href="#pageone" data-role="button" data-inline="true" data-icon="back">
                    返回
                </a>
                 <a href="#" data-role="button" data-icon="search" data-iconpos="notext">只显示图标</a>
            </div>
            <div data-role="footer">
                <h1>
                    页脚文本
                </h1>
            </div>
        </div>
        <div data-role="page" id="options">
            <div data-role="header">
                <h1>
                    选项
                </h1>
            </div>
            <div data-role="content">
                <p>
                    您刚敲击了选项按钮!
                </p>
                <a href="#pageone" data-role="button" data-inline="true" data-icon="back">
                    返回
                </a>
            </div>
            <div data-role="footer">
                <h1>
                    页脚文本
                </h1>
            </div>
        </div>
        <div data-role="page" id="search">
            <div data-role="header">
                <h1>
                    搜索
                </h1>
            </div>
            <div data-role="content">
                <p>
                    没有搜索结果!
                </p>
                <a href="#pageone" data-role="button" data-inline="true" data-icon="back">
                    返回
                </a>
            </div>
            <div data-role="footer">
                <h1>
                    页脚文本
                </h1>
            </div>
        </div>
        <div data-role="page" id="info">
            <div data-role="header">
                <h1>
                    信息
                </h1>
            </div>
            <div data-role="content">
                <p>
                    jQuery Mobile 很有趣!
                </p>
            </div>
            <div data-role="footer">
                <h1>
                    页脚文本
                </h1>
            </div>
        </div>
    </body>

</html>

例子解析

  • ** data-icon="back"** 用来指定图标类型
  • ** data-iconpos="top"** 用来指定图标被放置的位置(top, right,bottom,left )
  • ** data-iconpos="notext"** 可以让按钮只显示图标不显示文字

图标参考手册

http://www.runoob.com/jquerymobile/jquerymobile-ref-icons.html


未完待续。。。

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

推荐阅读更多精彩内容