![jQuery Mobile移动应用开发实战(第3版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/789/26542789/b_26542789.jpg)
5.4 导航栏的应用
不知道读者有没有接触过选项卡这种控件,相信大多数人都是接触过的。图5-14、图5-15和图5-16分别给出3种选项卡图片,让读者先了解选项卡到底是什么样的。
![](https://epubservercos.yuewen.com/02A9E2/15056703705213406/epubprivate/OEBPS/Images/Figure-P91_7197.jpg?sign=1739333273-lk95zBzMiLup3OVn1Ty4sA1vMebNI8EU-0-27f504dac3ac251fa2ca7109b49c9620)
图5-14 Web中常用的选项卡
![](https://epubservercos.yuewen.com/02A9E2/15056703705213406/epubprivate/OEBPS/Images/Figure-P91_7198.jpg?sign=1739333273-SA6oyh0JXNDSZusHWkkpxqc7xOk8RrlT-0-20a539ae4349394f2dbad0685ec75df8)
图5-15 Windows中的选项卡
![](https://epubservercos.yuewen.com/02A9E2/15056703705213406/epubprivate/OEBPS/Images/Figure-P91_7199.jpg?sign=1739333273-ejDRDv2gU8cL8kVjL97RdHPdC5Po2w8J-0-f6616a56ed2c96a61af003c13fe7790a)
图5-16 手机微信界面中的选项卡
看到图5-16,读者也许会提出疑问,原来这也是选项卡啊!可是这和本节标题中的导航栏有什么关系呢?
原来,在移动App中,选项卡常常被用作一款应用的导航。如图5-16中的微信,尾部栏的导航栏就说明了微信的4大功能,即“发信息(微信)”“通讯录”“找朋友”和“设置”。
使用这样的导航栏(或者说选项卡)能够在手机屏幕面积有限的情况下实现更多的功能,相信大家也都深有体会,而且这种界面很重要的一个优点就是非常美观。下面就来实现这样的效果。
【范例5-6 导航栏的使用】
![](https://epubservercos.yuewen.com/02A9E2/15056703705213406/epubprivate/OEBPS/Images/Figure-P91_56815.jpg?sign=1739333273-Y2lfuJsQa3beqPA08nhzrWzMid5OE0Oa-0-bdf63919419124cca67fd0faecdb9fd2)
运行结果如图5-17所示。
第25~34行的内容为尾部栏,其中加入了一个新的标签<div data-role="navbar">。在这个标签中嵌套使用了<ul>与<li>标签,使导航栏自动被分成了4栏。
![](https://epubservercos.yuewen.com/02A9E2/15056703705213406/epubprivate/OEBPS/Images/Figure-P92_7497.jpg?sign=1739333273-D9Wf5gZEUqW0RVZ0aI3iJj6wxoCDFWZG-0-eb8eda5e14ae3a505b530227c7d333d0)
图5-17 工具栏的使用
提示
并不一定要分成4栏,分栏的数目是根据标签<li>的数量决定的,但是最多不超过5栏。
实际上这种写法并不是很标准,按照jQuery Mobile API上的规定,应当在navbar控件中加入一组属性来标识导航栏分为几栏,比如本例就应当写成:
<div data-role="navbar" data-grid="c">
其中data-grid的值“c”就表示将导航栏分为4部分,那么以此类推,“a”自然就表示分为两栏。值得注意的是,当分栏数目大于5时,导航栏将自动分为多行,图5-18是jQuery Mobile对这时的导航栏外观所做的截图。
![](https://epubservercos.yuewen.com/02A9E2/15056703705213406/epubprivate/OEBPS/Images/Figure-P92_7485.jpg?sign=1739333273-xL32Ds2kW4zVbQa9ke7vgmPdvKP94FyQ-0-beb39efe1aa3a6dbe111a548fe98bda1)
图5-18 分为10栏的导航栏
提示
虽然说导航栏的一行最多可以分成5栏,建议最好不要分这么多栏,因为在一些屏幕较小的手机上可能无法显示完整的内容。
在navbar标签中继续使用标签<a>,同样可以让标签中的内容自动渲染为按钮,但是图5-16中的按钮显然与过去印象中的按钮有所不同,因为它带上了图标(在介绍按钮的章节里还会了解到这个图标)。第28行用data-icon="plus"属性设置图标为一个加号。
jQuery Mobile给出了许多可以直接调用的图标,具体使用方法将在本书接下来的“按钮”一章中详细介绍。