基于JQuery Mobile的Web App實(shí)踐

摘要

JQuery Mobile是針對智能手機(jī)和平板電腦創(chuàng)建的移動Web App開發(fā)框架,它的出現(xiàn)填補(bǔ)了JQuery在移動設(shè)備應(yīng)用上的缺憾,jQuery Mobile使用了極少的HTML5速警、CSS3、javaScript和Ajax腳本就可以完成頁面的渲染,秉承了jQuery“寫更少的代碼窃这,做更多的事情”理念:他可以通過一個靈活瞳别、簡單的方式來布局網(wǎng)頁,并且兼容所有的移動設(shè)備杭攻。

本文對JQuery Mobile各個知識點(diǎn)和使用方法做了簡要描述祟敛,并使用JQuery Mobile實(shí)現(xiàn)了一個簡單的Web App實(shí)例。

關(guān)鍵字:JQuery Mobile朴上。

文章組織結(jié)構(gòu)

一.JQuery Mobile簡介

二.JQuery Mobile基礎(chǔ)

三.JQuery Mobile使用實(shí)例

四.總結(jié)

一垒棋、JQuery Mobile簡介

今天,JQuery驅(qū)動著互聯(lián)網(wǎng)上的大量網(wǎng)站痪宰,在瀏覽器中提供動態(tài)的用戶體驗(yàn)叼架,這促使傳統(tǒng)的桌面應(yīng)用程序越來越少。現(xiàn)在衣撬,主流的移動平臺的瀏覽器功能都趕上了PC端桌面瀏覽器乖订,因此JQuery團(tuán)隊引入了JQuery Mobile。

與JQuery核心庫一樣具练,您的開發(fā)基本上不需要安裝任何的東西乍构;只需要將JQuery Mobile依賴的*.js和*.css文件直接包含到web頁面中即可。

JQuery Mobile有以下特性:

1扛点、JQuery Mobile基本框架整體比較小哥遮,js和css總共只有30k左右。

2陵究、JQuery Mobile使用起來很簡單眠饮,頁面開發(fā)主要使用標(biāo)記。

3铜邮、優(yōu)雅降級:這也是JQuery Mobile最吸引人的一個地方仪召,JQuery Mobile利用的是最新的HTML5和CSS3和JS寨蹋,但是并不是所有的移動設(shè)備都提供了這樣的支持。JQuery Mobile的哲學(xué)是同時支持高端和低端設(shè)備扔茅,只是在低端設(shè)備和是哪個顯示的效果會略差一些已旧。

4、主題系統(tǒng)召娜,JQuery Mobile提供了一套主題系統(tǒng)运褪,允許開發(fā)人員運(yùn)用自己的主題樣式。

5玖瘸、無障礙吐句,JQuery Mobile在綜合考慮了Web App訪問者的訪問能力,提供了WAI-ARIA支持店读,以支持殘障人士使用輔助技術(shù)訪問web頁面。

二攀芯、JQuery Mobile基礎(chǔ)

1屯断、頁面結(jié)構(gòu)及頁面切換效果

JQuery Mobile中的一個頁面由header、content侣诺、footer三部分組成殖演,通過data-role=“page”定義一個頁面。這也就是說Query Mobile在一個頁面中可以添加多個頁面年鸳,這意味著瀏覽器只需要加載一個頁面趴久,就可以實(shí)現(xiàn)頁面平滑切換的用戶體驗(yàn)。

基本的JQuery Mobile Web App都應(yīng)當(dāng)遵循下面的基本模板:

在上面的基本頁面結(jié)構(gòu)中搔确,“header”彼棍、“content”、“footer”在頁面中通常的使用方式如下:

用于放置標(biāo)題和按鈕(典型的就是放置一個“返回”按鈕)

內(nèi)容(文本膳算、圖像座硕、按鈕、列表涕蜂、表單等)

頁面底部建立工具欄华匾,添加一些功能按鈕。

JQuery Mobile中可以使用多種不同的切換效果來顯示新頁面的內(nèi)容机隙,只需要在超鏈接里添加data-transition屬性即可蜘拉。目前JQuery Mobile支持的頁面切換效果有以下幾種:

slide

從右到左切換(默認(rèn))

sildeup

從下到上切換

slidedown

從上到下切換

pop

已彈出的形式打開一個頁面

fade

漸變褪色的方式切換

flip

舊頁面翻轉(zhuǎn)飛出,新頁面飛入

none

無過渡效果

flow

拋出當(dāng)前頁有鹿,進(jìn)入下一頁

sidefade

從右向左滑動并淡入到下一頁

turn

轉(zhuǎn)向下一頁

2旭旭、文本

為了使用靈活,JQuery Mobile使普通HTML內(nèi)容更加獨(dú)立印颤,文本內(nèi)容的可讀性更強(qiáng)您机。

1)可折疊文本內(nèi)容:

2)格式化文本:

使用span標(biāo)簽添加class=“ui-li-count”,可在列表右側(cè)生成計數(shù)器。使用元素突出顯示內(nèi)容际看,

元素用于減弱列表項(xiàng)中顯示的內(nèi)容咸产,顯示補(bǔ)充信息可在

元素中添加class="ui-li-aside"

3)面板

JQuery Mobile的面板會在屏幕的左側(cè)向右劃出,用data-role=“panel”定義面板仲闽,用data-display=“push脑溢、overlay、reveal”來控制展示方式赖欣。關(guān)閉面板方式:data-dismissible=“true”屑彻,點(diǎn)擊外部區(qū)域關(guān)閉,data-swipe-close=“true”,通過滑動關(guān)閉顶吮。

3社牲、按鈕

JQuery Mobile中通過給a、button或者input元素添加樣式(或者增加data-role=”button”),便可以創(chuàng)建按鈕悴了。

按鈕時觸摸式應(yīng)用程序的重要部分搏恤,JQuery Mobile提供了以下默認(rèn)的按鈕樣式可供使用,當(dāng)然開發(fā)人員也可以根據(jù)自己的需求定義自己滿意的樣式湃交。

ui-corner-all

圓角

ui-shadow

陰影

ui-btn-inline

并排顯示

ui-btn-a

主題a按鈕樣式

ui-btn-b

主題b按鈕樣式

4熟空、列表

列表是JQuery Mobile比較突出的一個特性,JQuery Mobile使得標(biāo)準(zhǔn)的無序或有序列表在頁面中應(yīng)用得更加廣泛搞莺,使用方法是在ul或ol標(biāo)簽中添加屬性息罗。

JQuery Mobile中的列表可分為如下幾類:

1)簡單列表

2)超鏈接列表

3)嵌套列表

4)分割列表

5)過濾列表

6)氣泡列表

7)縮略圖、圖標(biāo)列表

5才沧、導(dǎo)航欄

導(dǎo)航欄是由一組水平排列的鏈接構(gòu)成迈喉,通常位于頁眉或頁腳內(nèi)部。JQuery Mobile的導(dǎo)航欄中的鏈接會自動轉(zhuǎn)換為按鈕温圆。

值得注意的是弊添,JQuery Mobile導(dǎo)航導(dǎo)航個數(shù)超過5個會自動按每行2個導(dǎo)航換行顯示,

6捌木、網(wǎng)格

JQuery Mobile提供了一套基于CSS的分列布局油坝,但是由于移動設(shè)備上特別是手機(jī)屏幕寬度狹窄,所以一般不建議使用刨裆。

JQuery Mobile中由五種網(wǎng)格布局可以使用:

ui-grid-solo

1列

對應(yīng)ui-block-a

ui-grid-a

2列

對應(yīng)ui-block-a|b

ui-grid-b

3列

對應(yīng)ui-block-a|b|c

ui-grid-c

4列

對應(yīng)ui-block-a|b|c|d

ui-grid-d

5列

對應(yīng)ui-block-a|b|c|d|e

7澈圈、對話框

上面JQuery Mobile中通過為a標(biāo)簽添加data-rel=”dialog”或者data-dialog=”true”屬性便可以將連接頁面以彈出框的形式展示。

8帆啃、表單

JQuery Mobile使用表單是直接按原生的方法使用即可瞬女。

JQuery Mobile有很強(qiáng)的表單自適應(yīng)能力:ui-field-contain,寬屏幕左右顯示(480px以上)努潘,窄屏幕上下顯示(480以下)

表單中的單選和復(fù)選提供了橫向和豎向(默認(rèn))的兩種類型诽偷,只需設(shè)置data-type="horizontal"坤学。翻轉(zhuǎn)開關(guān)和滑動器以及下拉框還提供了mini版樣式只需設(shè)置data-mini="true"并且設(shè)置data-inline="true"。

9报慕、表格

JQuery Mobile提供了兩種模式的響應(yīng)式表格深浮。

1)回流表格模式(data-mode="reflow"):寬屏顯示普通表格列,窄屏?xí)兂杀韱问奖砀瘛?/p>

2)列切換模式(data-mode="columntoggle"):列切換模式會在寬度不夠時隱藏數(shù)據(jù)眠冈,添加data-priority=“1”屬性來設(shè)置隱藏列的順序飞苇,按優(yōu)先級1(最高)-6(最低),從低到高隱藏蜗顽。

7布卡、主題

JQuery Mobile提供了2種不同的主題樣式,從“a”到“b”-每一種主題的按鈕雇盖,工具條忿等,內(nèi)容塊等等顏色都不一樣,沒個主題的視覺效果也不一樣崔挖。其中a主題是灰色背景黑色文字这弧,b主題為黑背景白色文字,通過data-theme屬性可以自定義主題:按鈕

添加新主題:

通過修改CSS文件來添加或編輯新主題虚汛,只需要拷貝樣式模板,然后重命名字母類名(c-z)皇帮,并在樣式中添加你需要的顏色和字體即可卷哩。同時也可以為主題添加新樣式,如按鈕添加類:ui-btn-(a-z).頁面添加ui-page-theme-(a-z).

8属拾、事件

JQuery Mobile中的事件必須使用on()方法來綁定将谊。

事件分為五類:

1) Page Initialization(頁面初始化事件,這些事件只在頁面加載時執(zhí)行一次)

pagebeforecreate

頁面創(chuàng)建前

pagecreate

當(dāng)頁面創(chuàng)建時

2) Page Load/Unload

pagebeforeload

當(dāng)外部頁面加載時

pagecontainerload

頁面成功載入并插入DOM后觸發(fā)

3) page Transition:在頁面過度之前和之后(每次都會觸發(fā))渐白,

pagebeforeshow

過渡動畫開始前去的頁面觸發(fā)

pageshow

去的頁面一開始加載/過渡動畫完成之后

pagebeforehide

過渡動畫開始前來的頁面觸發(fā)

pagehide

過渡動畫完成后來的頁面觸發(fā)

4) page Change:

pagebeforechange

頁面切換前觸發(fā)的事件

pagechange

頁面切換時觸發(fā)的事件

pagechangefailed

頁面切換失敗觸發(fā)的事件

5)其他事件:

swiper

水平滑動

swipeleft

左滑動

swiperight

右滑動

tap

點(diǎn)擊

taphold

長按

scrollstart

頁面滾動開始觸發(fā)事件

scrollstop

頁面滾動結(jié)束觸發(fā)事件

orientationchange

屏幕方向改變時觸發(fā)

三尊浓、JQuery Mobile使用實(shí)例

上面簡單介紹了JQuery Mobile的基本用法,下面將以具體例子實(shí)現(xiàn)一個簡單Web App纯衍。示例是以調(diào)用restAPI的方式獲取Web端數(shù)據(jù)的一個云計算portal簡單Web App栋齿。

1、創(chuàng)建一個html網(wǎng)頁instance.html,導(dǎo)入jquery和jquery.mobile.依賴襟诸。并創(chuàng)建主頁面index和詳情頁面Detai基本結(jié)構(gòu)瓦堵。

2、為主頁面index添加主題選擇歌亲、按關(guān)鍵字查詢的搜索框菇用、導(dǎo)航欄以及ajax加載數(shù)據(jù)后顯示的列表。

3陷揪、detail頁面添加對虛機(jī)的詳情描述信息以及開關(guān)機(jī)等按鈕惋鸥。

4杂穷、綁定主題選擇事件

5、在頁面創(chuàng)建時加載數(shù)據(jù)

6卦绣、綁定搜索耐量,詳情按鈕、開關(guān)機(jī)按鈕事件

7迎卤、綁定事件搜索和開關(guān)機(jī)按鈕事件

7拴鸵、編寫ajax獲取個人實(shí)例數(shù)據(jù)

8、獲取detail信息

8蜗搔、獲取detail數(shù)據(jù)

9劲藐、開機(jī)

9、開機(jī)

10樟凄、關(guān)機(jī)

四.總結(jié)

隨著移動設(shè)備的普及聘芜,移動端設(shè)備越來越高端,移動端的瀏覽器也越來越接近甚至超越PC端瀏覽器的性能缝龄,Web App也隨著興起汰现,相較于原生App來說Web App使用W3C標(biāo)準(zhǔn)的HTML語言開發(fā),能夠輕松的實(shí)現(xiàn)跨平臺叔壤,移動應(yīng)用開發(fā)者不再需要考慮復(fù)雜的底層適配和跨平臺開發(fā)語言的問題瞎饲,原生App能實(shí)現(xiàn)的一些特殊功能如:本地數(shù)據(jù)存儲、音頻播放炼绘、調(diào)用照相機(jī)等現(xiàn)在Web App也同樣可以實(shí)現(xiàn)嗅战。在開發(fā)時間方面Web App的迭代周期要遠(yuǎn)遠(yuǎn)短于原生App,并且用戶不需要頻繁的重新下載或升級俺亮。從用戶體驗(yàn)方面來說Web App既有Web的特性同時又有原生App的特性驮捍,Web App與傳統(tǒng)互聯(lián)網(wǎng)是互聯(lián)的,從一個Web App可以直接跳轉(zhuǎn)到另一個Web App脚曾。

JQuery Mobile便是為主流的移動平臺提供的一個JQuery核心類庫东且,同JQuery一樣,JQuery Mobile是一個免費(fèi)開源的項(xiàng)目本讥,受到越來越多的開發(fā)人員的關(guān)注珊泳,它有著豐富的界面樣式、強(qiáng)大的自適應(yīng)能力拷沸、各種移動設(shè)備上可觸發(fā)的事件旨椒,并且JQuery Mobile同時可支持高端和低端設(shè)備。

本文通過對JQuery Mobile的各個知識點(diǎn)的具體使用分析并且提供了一個完整的案例堵漱。相信對于即將使用JQuery Mobile開發(fā)Web App的開發(fā)人員有一定的幫助综慎。

個人簡介:

劉小兵

軟件開發(fā)工程師

任職于某大型IT外資企業(yè),主要從事JavaEE開發(fā)勤庐。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末示惊,一起剝皮案震驚了整個濱河市好港,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌米罚,老刑警劉巖钧汹,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異录择,居然都是意外死亡拔莱,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門隘竭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來塘秦,“玉大人,你說我怎么就攤上這事动看∽鹛蓿” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵菱皆,是天一觀的道長须误。 經(jīng)常有香客問我,道長仇轻,這世上最難降的妖魔是什么京痢? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮篷店,結(jié)果婚禮上祭椰,老公的妹妹穿的比我還像新娘。我一直安慰自己船庇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布侣监。 她就那樣靜靜地躺著鸭轮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪橄霉。 梳的紋絲不亂的頭發(fā)上窃爷,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機(jī)與錄音姓蜂,去河邊找鬼按厘。 笑死,一個胖子當(dāng)著我的面吹牛钱慢,可吹牛的內(nèi)容都是我干的逮京。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼束莫,長吁一口氣:“原來是場噩夢啊……” “哼懒棉!你這毒婦竟也來了草描?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤策严,失蹤者是張志新(化名)和其女友劉穎穗慕,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體妻导,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逛绵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了倔韭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片术浪。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖狐肢,靈堂內(nèi)的尸體忽然破棺而出添吗,到底是詐尸還是另有隱情,我是刑警寧澤份名,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布碟联,位于F島的核電站,受9級特大地震影響僵腺,放射性物質(zhì)發(fā)生泄漏鲤孵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一辰如、第九天 我趴在偏房一處隱蔽的房頂上張望普监。 院中可真熱鬧,春花似錦琉兜、人聲如沸凯正。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽廊散。三九已至,卻和暖如春梧疲,著一層夾襖步出監(jiān)牢的瞬間允睹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工幌氮, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缭受,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓该互,卻偏偏與公主長得像米者,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子宇智,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容