在范例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. python 调用内部类的两种方法

    class Car:#外部类 class Door:#内部类 def open(self): print('open door') class Wheel: def run(self): print( ...

  2. JavaScript事件小结

    我们都晓得JavaScrip事件的重要性,所以下面小结一下以备后用!   序号 事件 描述 备注 onclick 鼠标点击某个对象时触发此事件 是最常用的事件之一 onchange 用户改变域的内容时 ...

  3. ASP.NET的SEO:SEO Hack --- Html注入和Nofollow

    ASP.NET的SEO:目录 黑帽(black hat)SEO主要是指采取"不怎么道德"(暂时就这么形容吧!)的方式进行搜索引擎优化. 1. 注入攻击,包括Sql注入和Html注入 ...

  4. 编程规范 html部分

    不管有多少人共同参与同一项目,一定要确保每一行代码都像是同一个人编写的. HTML 部分 语法 对于属性的定义,确保全部使用双引号,绝不要使用单引号. 为每个 HTML 页面的第一行添加标准模式(st ...

  5. .NET常用类库知识总结

    常用类库之.NET中的字符串 字符串的特性 1.不可变性        由于字符串是不可变的的,每次修改字符串,都是创建了一个单独字符串副本(拷贝了一个字符串副本).之所以发生改变只是因为指向了一块新 ...

  6. boost:进程管理

    概述 Boost.Process提供了一个灵活的C++ 进程管理框架.它允许C++ developer可以像Java和.Net程序developer那样管理进程.它还提供了管理当前执行进程上下文.创建 ...

  7. 新建一个DataTable如何手动给其添加多条数据!

    早晨起来,想起昨天利用winform做类似于sqlserver数据库导入数据功能的时候,用到了新建一个DataTable手动给其添加多条数据,平时用不到,需要的时候想不起来了,这次不妨把他记下来.以下 ...

  8. webservice简介以及简单使用

    本文主要是简单的介绍webservice是什么.webservice的由来.webservice的作用,以及后面会介绍webservice的使用. webservice是什么? 目前,Web serv ...

  9. canvas 绘圆加边框

    HTML5中canvas元素,绘制圆形需要使用路径,开始时要取得图形上下文,首先使用路径来勾勒图形的轮廓,然后设置颜色,进行绘制. arc(cx,cy,radius,start_angle,end_a ...

  10. qemu-kvm简单使用

    qemu-kvm主要有以下几个选项: -snapshot: 创建快照 -m: 指定内存大小 -smp: 指定处理器个数 -cpu: 指定CPU类型 -name: 设置虚拟机名称 -vnc: 使用vnc ...