jQuery Mobile十大常用技巧
譯文在本文中,將介紹使用jQuery Mobile開發的一些常用的技巧,閱讀對象為已經使用過jQuery Mobile進行開發的移動Web開發者。
1、禁止截斷過長的列表和按鈕內容
在jQuery mobile中,如果列表或者按鈕中文字的內容過長,jQuery Mobile會自動截斷其超過長度的內容,但如果不希望這樣的話,可以在CSS樣式中增加如下設置即可,比如下面的是針對按鈕的CSS樣式設置:
- .ui-btn-text {
- white-space: normal;
- }
下面的是針對列表的CSS樣式設置
- .ui-li-desc {
- white-space: normal;
- }
如果要恢復對文字的截斷,則繼續設置CSS為white-space: nowrap;
2、實現頁面加載時的隨機頁面背景過渡效果
jQuery Mobile中,當需要實現頁面加載時,可以有很多的頁面加載事件可供使用。比如下面的CSS和JavaScript代碼,可以實現頁面加載時的隨機頁面背景過渡效果。
CSS代碼:
- my-page { background: transparent url(../images/bg.jpg) 0 0 no-repeat; }
- .my-page.bg1 { background: transparent url(../images/bg-1.jpg) 0 0 no-repeat; }
- .my-page.bg2 { background: transparent url(../images/bg-2.jpg) 0 0 no-repeat; }
- .my-page.bg3 { background: transparent url(../images/bg-3.jpg) 0 0 no-repeat; }
Javascript代碼:
- $('.my-page').live("pagecreate", function() {
- var randombg = Math.floor(Math.random()*4); //獲得0到3之間的隨機數
- $('.my-page').removeClass().addClass('bg' + randombg);
- });
3、禁用button
在有的情況下,可能會需要禁止按鈕的加載事件,這個時候可以繼續通過如下的設置實現:
- $('#home-button').button("disable");
如果要恢復可用,則設置為:
- $('#home-button').button("enable");
4、去掉頁面加載時的提示信息
如果在加載頁面時,不需要顯示頁面加載信息時,可以通過設置一個屬性來取消顯示加載提示信息,如下:
- $.mobile.pageLoading(true);
如果要繼續保持顯示頁面加載信息,則為:
- $.mobile.pageLoading();
5、創建自定義主題
jQuery Mobile本身提供了A-E五種不同的主題,但可以自定義主題,步驟如下:
- 從jQuery Mobile的任意一個定義主題的CSS文件中,復制其內容到自己定義的CSS文件中。
- 給要自定義的CSS主題一個恰當的名稱并且重新命名CSS文件,注意命名必須是(a-z)英文字母,比如你是從jQuery Mobile的主題c的樣式文件中復制的,則可以將主題命名為Z,則復制過來的內容中,比如要將.ui-btn-up-c改為.ui-btn-up-z,.ui-body-c改為.ui-body-z,如此類推。
- 改變新建立的自定義主題的顏色和CSS文件。
- 最后,需要在頁面中,應用新定義的主題樣式,如下:
- <div data-role="page" data-theme="z"></div>
6、使用自定義字體
在移動Web應用中,有的時候需要更換字體,這樣的話,可以通過使用@font-face方法實現,并且性能是十分好的。具體關于@font-face的使用,請參考http://www.sitepoint.com/the-fontface-jquery-plugin/這篇文章。
7、創建一個沒有文本只有圖片的按鈕
有時,可能想用一個沒有文本內容仍具有按鈕特性的一個按鈕。如果要在按鈕上隱藏文本,設置data-iconpos="notext",例如:
- <a href="../index.html" data-icon="grid" claa="ui-btn-right" data-iconpos="notext">Home</a>
8、打開一個無需使用Ajax頁面過渡的超鏈接
如果不需要使用Ajax打開一個頁面的鏈接,可以設置鏈接的rel屬性,如下:
- <a href="../index.html" data-icon="grid" class="ui-btn-right" rel="external">Home</a>
9、移除項目列表中的箭頭
默認情況下,jQuery Mobile框架會為每一個列表項添加一個箭頭,想要禁用箭頭顯示,需要在想要移除列表項設置data-icon="false"。
- <li data-icon="false"><a href="contact.html">Contact Us</a></li>
10、設置頁面的背景顏色
怎樣在不修改jQuery Mobile樣式下設置一個頁面背景顏色的?聽起來很簡單,其實需要花幾分鐘時間才能解決。通常情況下,需要在body元素中設置背景顏色,但是用jQuery Mobile框架,需要設置在ui-page類中。
- .ui-page{
- background:#eee;
- }