大家還記得在jQuery 1.0 RC版本發(fā)布的時候我們曾經(jīng)發(fā)布過一個jQuery Mobile RC版本介紹文章介紹主要的特性。就在前不久,jQuery Mobile團(tuán)隊(duì)又發(fā)布了jQuery Mobile 1.2。新版本中帶來了一些非常不錯的特性。在今天的這篇文章中我們將繼續(xù)介紹1.2版本的一些新的widget,及其一些針對老版本widget的功能加強(qiáng)。希望大家喜歡!
Widgets
jQuery Mobile最核心的地方就在于widgets。提供了與用戶交互的界面。在最新的版本中,加入了一個全新的widget:popup modal。
Popups (彈出層)
彈出層是一個覆蓋于頁面其它內(nèi)容的小的區(qū)域。可以用來設(shè)計提示欄,顯示照片,地圖或者其它內(nèi)容。在jQuery mobile 1.2中,實(shí)現(xiàn)了這個超棒的widgets。
在本篇文章中,我們將使用如下代碼框架來演示代碼:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery Mobile 1.2</title>
<link rel="stylesheet" />
<script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
</head>
<body>
<div data-role="content">
<!-- 請將以下的文章代碼粘貼到此處 -->
</div>
</body>
</html>
這里我們使用CDN來加載javascript。
友情提示:請大家使用Chrome來訪問以下的“在線調(diào)試”地址,謝謝!
為了添加popup彈出層,我們需要添加如下屬性來定義所參考類型是popup:
data-rel="popup"
然后定義具體的插件類型,如下:
data-role="popup"
展示的觸發(fā)層內(nèi)容,可以是表單,菜單或者圖片,完整代碼如下:
<a href="#simplepopup" data-rel="popup">Open Popup</a>
<div data-role="popup" id="simplepopup">
<p>This is a completely basic popup, no options set.<p>
</div>
在線調(diào)試
Tooltips(工具提示條)
使用popup我們還可以創(chuàng)建工具提示條,如下:
<a href="#tooltip" data-rel="popup" data-role="button">Find out more</a>
<div data-role="popup" id="tooltip" data-theme="e">
<p>You found out more!.</p>
</div>
在線調(diào)試
Menus(菜單)
下面我們生成一個菜單,如下:
<a href="#menu" data-rel="popup" data-role="button">Menu</a>
<div data-role="popup" id="menu" data-theme="a">
<ul data-role="listview" data-theme="c" data-inset="true">
<li data-role="divider" data-theme="a">My Menu</li>
<li>Unlinked</li>
<li><a href="methods.html">linked</a></li>
<li><a href="methods.html">With count</a><span class="ui-li-count">42</span></a></li>
</ul>
</div>
在線調(diào)試
當(dāng)然,你也可以生成可縮放list,如下:
<a href="#nestedmenu" data-rel="popup" data-role="button">Nested Menu</a>
<div data-role="popup" id="nestedmenu" data-theme="none">
<div data-role="collapsible-set" data-theme="b" data-content-theme="c" data-collapsed-icon="arrow-r" data-expanded-icon="arrow-d" style="margin:0; width:250px;">
<div data-role="collapsible" data-inset="false">
<h2>Colors</h2>
<ul data-role="listview">
<li><a href="#">Red</a></li>
<li><a href="#">Blue</a></li>
</ul>
</div>
<div data-role="collapsible" data-inset="false">
<h2>Shapes</h2>
<ul data-role="listview">
<li><a href="#">Circle</a></li>
<li><a href="#">Square</a></li>
</ul>
</div>
</div>
</div>
在線調(diào)試
Form(表單)
我們也可以生成彈出式樣的登錄表單,如下:
<a href="#login" data-rel="popup" data-position-to="window" data-role="button">Login</a>
<div data-role="popup" id="login" data-theme="a">
<form style="padding:10px 20px;">
<h3>Please sign in</h3>
<label for="un" class="ui-hidden-accessible">Username:</label>
<input type="text" name="user" id="un" placeholder="username" />
<label for="pw" class="ui-hidden-accessible">Password:</label>
<input type="password" name="pass" id="pw" placeholder="password" />
<button type="submit" data-theme="b">Sign in</button>
</form>
</div>
在線調(diào)試
Dialogs(對話框)
對話框也是我們常用的,如下:
<a href="#dialog" data-rel="popup" data-position-to="window" data-role="button" data-transition="pop">Dialog</a>
<div data-role="popup" id="dialog" data-overlay-theme="a" data-theme="c">
<div data-role="header" data-theme="a">
<h1>Delete Page?</h1>
</div>
<div data-role="content" data-theme="d">
<h3>Are you sure you want to delete this page?</h3>
<p>This action cannot be undone.</p>
<a href="#" data-role="button" data-inline="true" data-rel="back" data-theme="c">No</a>
<a href="#" data-role="button" data-inline="true" data-rel="back" data-theme="b">Yes, Delete it</a>
</div>
</div>
在線調(diào)試
Photos(圖片展示)
使用懸浮方式展示圖片,如下:
<a href="#photo" data-rel="popup" data-position-to="window" data-role="button" data-transition="fade">Photo</a>
<div data-role="popup" id="photo" data-overlay-theme="a" data-theme="d" data-corners="false">
<a href="#" data-rel="back" data-role="button" data-theme="a" data-icon="delete" data-iconpos="nojs" class="ui-btn-right">Close</a><img src="http://www.argcandargv.com/skin/default/image/lazy.gif" class="lazy" original="http://upload.chinaz.com/2012/1121/1353476121226.png" />
</div>
在線調(diào)試
List Views (可縮放列表)
這個效果肯定你也會需要:
<div data-role="collapsible" data-theme="b" data-content-theme="c">
<h2>Favorite Spice Girl?</h2>
<ul data-role="listview">
<li><a href="index.html">Posh</a></li>
<li><a href="index.html">Scary</a></li>
<li><a href="index.html">Sporty</a></li>
<li><a href="index.html">Baby</a></li>
<li><a href="index.html">Ginger</a></li>
</ul>
</div>
在線調(diào)試
功能加強(qiáng)
其它的更新包括了一些功能上的加強(qiáng)。
jQuery支持更新
開始支持jQuery1.8。sizzle.js的重寫帶來了性能的提升及其其它。并且開始考慮放棄支持1.6,如果你使用舊版本的話,可能會不舒服。
列表視圖的自動分隔
data-autodividers="true"
原來:
現(xiàn)在:
注意這里不包括管理排序,分組和過濾。如果你需要類似功能,考慮這個插件:jQuery Mobile Tinysort plugin.
只讀列表
提供了只讀列表,但是對于能不能點(diǎn)擊不是很明顯。
提供了更好的表單元素寬度調(diào)整
jQuery mobile version1.2解決了表單元素的問題,有時候不能完全的占有父元素寬度
其它的設(shè)備的支持
添加了另外一些平臺:iOS6;Android1.4(Jellybean),Tizen,firefox for Android和Kindle Fire HD。
完整的更新列表
你可以在官方博客來查看完整的更新,希望我們的介紹能夠給你帶來一部分的新版本體驗(yàn),如果你有任何問題,請給我們留言!
via tutsplus
來源:最新jQuery Mobile 1.2版本新特性