在范例5-4所使用的导航栏中,已经为按钮加入了图标的样式,但是当时并没有介绍按钮的图标究竟是怎么一回事。下面截取范例5-4中导航栏部分的代码:

 <divdata-role="footer">
 <div  data-role="navbar"data-grid="c">
 <ul>
               <li><a id="chat" href="#"data-icon="custom">微信</a></li>
               <li><a id="email" href="#"data-icon="custom">通讯录</a></li>
               <li><a id="skull" href="#"data-icon="custom">找朋友</a></li>
               <li><a id="beer" href="#"data-icon="custom">设置</a></li>
 </ul>
 </div>
 </div>

导航栏部分的样式如图6-2所示。

图6-2 导航栏的样式

当时笔者提到这里使用了按钮的默认图标,而这个图标是通过属性data-icon="custom"来决定的,custom是jQuery Mobile为开发者准备的默认图标之一。接下来就介绍怎样通过data-icon属性来控制页面上按钮的图标。

【范例6-2 为尾部栏的按钮加入图标】

 <!DOCTYPE html>                                     <!--声明HTML -->
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Fixed Positioning Example</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <link rel="stylesheet" href="jquery.mobile.min.css" />
 <script src="jquery-1.7.1.min.js"></script>
 <script src=“jquery.mobile.min.js”></script>
 </head>
 <body>
     <div data-role="page">
             <div data-role="header" data-position="fixed" data-fullscreen="true">
                 <a href="#">返回</a>
               <h1>头部栏</h1>
               <a href="#">设置</a>
         </div>
         <div data-role="content">
             <a href="#" data-role="button">这是一个按钮</a>
             <!--可以加入图标,但是在此处先不对它们做任何修改-->
             <a href="#" data-role="button">这是一个按钮</a>
             <a href="#" data-role="button">这是一个按钮</a>
             <a href="#" data-role="button">这是一个按钮</a>
             <a href="#" data-role="button">这是一个按钮</a>
             <a href="#" data-role="button">这是一个按钮</a>
             <a href="#" data-role="button">这是一个按钮</a>
             <a href="#" data-role="button">这是一个按钮</a>
             <a href="#" data-role="button">这是一个按钮</a>
             <a href="#" data-role="button">这是一个按钮</a>
             <a href="#" data-role="button">这是一个按钮</a>
             <a href="#" data-role="button">这是一个按钮</a>
             <a href="#" data-role="button">这是一个按钮</a>
         </div>
         <div data-role="footer" data-position="fixed" data-fullscreen="true">
             <div data-role="navbar">
                 <ul>
                     <li><a id="chat" href="#" data-icon="info">微信</a></li>
 <!--在此处加入图标 data-icon=”info”-->
                     <li><a id="email" href="#" data-icon="home">通讯录</a></li>
                        <!--data-icon=”home”图标样式为“主页”-->
                     <li><a id="skull" href="#" data-icon="star">找朋友</a></li>
                        <!--data-icon=”star”图标样式为“星星”-->
                     <li><a id="beer" href="#" data-icon="gear">设置</a></li>
                        <!--data-icon=”gear”图标样式为“齿轮”-->
                 </ul>
             </div><!-- /navbar -->
         </div><!-- /footer -->
     </div>
 </body>
 </html>

运行结果如图6-3所示。

图6-3 按钮的图标

虽然与微信经过精心设计的图标还有很大的差距,但是却比之前光秃秃的十字叉要好看了许多。这些图标是在jQuery Mobile给出的多组图表中选出的几款最适合当前按钮文字内容的图标,除了这些图标之外,jQuery Mobile还为开发者准备了其他的图标样式共17种,笔者将它们整理在表6-1中。

jQueryMobile可用度越来越高,入门门槛低,可以少写代码来生成移动设备友好的界面。《构建跨平台APP:jQuery Mobile移动应用实战》这本书采用实例驱动的方式介绍jQueryMobile下的APP开发,全书提供70余个实战案例教会读者进行移动开发,最后还通过6个小型项目来复习和巩固所学知识点。想和作者交流,加Q群:348632872,作者在这里等你偶来。

【原创】小白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》连载五(给按钮加图标)的更多相关文章

  1. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载一(PhoneGap中的API)

    之前本博连载过<构建跨平台APP:jQuery Mobile移动应用实战>一书.深受移动开发入门人员的喜爱. 从如今開始,连载它的孪生姐妹书phoneGap移动应用实战一书,希望以前是小白 ...

  2. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载四(使用程序载入事件)

    在了解了PhoneGap中都有哪些事件之后,本节将開始对这些事件的使用方法进行具体地介绍.本节要介绍的是程序载入事件,也就是deviceready.pause和resume这3个事件. [范例4-2 ...

  3. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载五(使用PhoneGap获取设备信息)

    除了能够将HTML页面打包成可以直接安装运行的APP外,PhoneGap的一个最大优势在于可以通过JavaScript调用设备来访问设备上的硬件信息,从而实现一些原本只有依靠原生SDK才能够达到的目的 ...

  4. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载三(通过实例来体验生命周期)

    4.1.2  通过实例来亲身体验Activity的生命周期 上一小节介绍了Activity生命周期中的各个过程,本小节将以一个简单的实例来使读者亲身体验到Activity生命周期中的各个事件. 在Ec ...

  5. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载二(生命周期)

    4.1 什么是生命周期 想要真正地理解PhoneGap应用开发的内涵,首先需要理解什么是生命周期.这在字面上其实非常容易理解,一个应用从开始运行被手机加载到应用被退出之间的过程就称之为一个生命周期.为 ...

  6. 小白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》连载四(场景切换)

    作为一款真正有使用价值的应用,首先应该至少有两个页面,通过页面的切换来实现更多的交互.比如手机人人网,打开以后先是进入登录页面,登录后会有新鲜事,然后拉开左边的面板,能看到相册.悄悄话.应用之类的其他 ...

  7. 白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》串行4(场景变化)

    作为一个真正的利用价格值应用,首先,你应该至少有两页,通过切换页面来实现很多其他互动.比如手机人人网,首先,打开后进入登录页面,将有登录后,新的东西.然后拉左侧面板.你可以看到相册.私人信息.像其他应 ...

  8. jquery Mobile应用第2课《构建跨平台APP:jQuery Mobile移动应用实战》连载二(简单的QWER键盘)

    在jQuery Mobile的布局中,控件大多都是单独占据页面中的一行,按钮自然也不例外,但是仍然有一些方法能够让多个按钮组成一行,比如说在范例6-5中就利用按钮分组的方法使4个按钮并列在一行中,如图 ...

  9. jqueryMobile应用第一课《构建跨平台APP:jQuery Mobile移动应用实战》连载一(Hello World)

    有人说每个程序员都曾经有过改变世界的梦想,笔者认为,这与程序员年轻时编写的第一个程序有着莫大的关系.简简单单的一句“hello world”让年轻的心开始相信梦想,用一种低调的壮志凌云向世界展示自己的 ...

随机推荐

  1. history.back(-1)和history.go(-1)的区别

    history.back(-1):直接返回当前页的上一页,数据全部消息,是个新页面 history.go(-1):也是返回当前页的上一页,不过表单里的数据全部还在 返回到指定连接:document.l ...

  2. 洛谷P1474 货币系统 Money Systems

    P1474 货币系统 Money Systems 250通过 553提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 暂时没有讨论 题目描述 母牛们不但创 ...

  3. sql server分页

    表结构 CREATE TABLE v_home ( vid int IDENTITY(1,1) not null,-- AUTO_INCREMENT, chapter varchar(20) not ...

  4. ES6生成器基础

    ES6引进的最令人兴奋的特性就是一种新的函数生成方式,称为生成器(generator).名称有点奇怪,但是第一眼看上去行为更加奇怪.文章主要介绍生成器如何工作,然后让你明白为什么他们对于未来的JS会有 ...

  5. 蛮考验基础的JS笔试题(有坑小心!)

    1.  考察this var length = 10 function fn(){ alert(this.length) } var obj = { length: 5, method: functi ...

  6. C# 中DataGridView 绑定List<T>做数据源的操作问题

    若想将 List<T>作为DataGridView的数据源,然后后续还想继续操作的话,需要将List<T>赋值给BindingList对象, 然后直接将BindingList赋 ...

  7. js中的条件语句

    //js中的条件语句 ; //example1 单分支语句 ){ console.log("你已经不年轻了!"); }else{ console.log("你依然很有活力 ...

  8. 实现MySQL的Replication

    实现MySQL的Replication     实现MySQL的Replication在MySQL 3.23.15版本之后,MySQL提供了数据库复制的功能,可以实现两个数据库实时同步,增强了MySQ ...

  9. linux ---用uniq实现文件的并集和交集

    1. 取出两个文件的并集(重复的行只保留一份) 2. 取出两个文件的交集(只留下同时存在于两个文件中的文件) 3. 删除交集,留下其他的行 1. cat file1 file2 | sort | un ...

  10. SqlServer 事务和异常处理示例

    BEGIN TRANSACTION--开始事务 DECLARE @errorSun INT --定义错误计数器SET @errorSun=0 --没错为0 UPDATE dbo.Test SET te ...