jQuery Mobile 中的面板會(huì)在屏幕的左側(cè)向右側(cè)劃出。
通過向指定 id 的 <div> 元素添加 data-role="panel" 屬性來創(chuàng)建面板。
在 <div> 中添加 HTML 標(biāo)記來顯示你的面板內(nèi)容:
<div data-role="panel" id="myPanel"> <h2>面板標(biāo)題..</h2> <p>文本內(nèi)容..</p> </div>
注意: panel 標(biāo)記必須置于頭部、內(nèi)容、底部組成的頁(yè)面之前或之后。
要訪問面板,需要?jiǎng)?chuàng)建一個(gè)指向面板 <div> id 的鏈接,點(diǎn)擊該鏈接即可打開面板:
<a href="#myPanel" class="ui-btn ui-btn-inline">打開面板</a>
簡(jiǎn)單的面板實(shí)例
實(shí)例
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> </head> <body> <div data-role="page" id="pageone"> <div data-role="panel" id="myPanel"> <h2>面板頭部</h2> <p>你可以通過點(diǎn)擊面板外部區(qū)域或按下 Esc 鍵或滑動(dòng)來關(guān)閉面板。</p> </div> <div data-role="header"> <h1>頁(yè)面頭部</h1> </div> <div data-role="main" class="ui-content"> <p>點(diǎn)擊下面按鈕打開面板。</p> <a href="#myPanel" class="ui-btn ui-btn-inline ui-corner-all ui-shadow">打開面板</a> </div> <div data-role="footer"> <h1>頁(yè)面底部</h1> </div> </div> </body> </html>
運(yùn)行實(shí)例 ?
點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例
關(guān)閉面板
你可以通過點(diǎn)擊面板外部區(qū)域或按下 Esc 鍵或滑動(dòng)來關(guān)閉面板。你可以通過使用 data-* 屬性來禁用滑動(dòng)和點(diǎn)擊來關(guān)閉面板:
屬性 | 值 | 描述 | 實(shí)例 |
---|---|---|---|
data-dismissible | true | false | 指定面板是否可以通過點(diǎn)擊面板外部區(qū)域來關(guān)閉。 | 嘗試一下 |
data-swipe-close | true | false | 指定是否可以通過滑動(dòng)來關(guān)閉。 | 嘗試一下 |
你可以使用按鈕來關(guān)閉面板:僅需要在面板的 <div> 中添加 data-rel="close" 屬性。 從性能上考慮,我們需要鍵關(guān)閉鏈接的 href 屬性指向頁(yè)面的 ID 。
實(shí)例
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> </head> <body> <div data-role="page" id="pageone"> <div data-role="panel" id="myPanel"> <h2>面板頭部</h2> <p>你可以使用按下 Esc 鍵、點(diǎn)擊面板外部區(qū)域、通過滑動(dòng)或點(diǎn)擊下面按鈕來關(guān)閉面板:</p> <a href="#pageone" data-rel="close" class="ui-btn ui-btn-inline ui-shadow ui-corner-all ui-btn-a ui-icon-delete ui-btn-icon-left">關(guān)閉面板</a> </div> <div data-role="header"> <h1>頁(yè)面頭部</h1> </div> <div data-role="main" class="ui-content"> <p>點(diǎn)擊下面按鈕打開面板。</p> <a href="#myPanel" class="ui-btn ui-btn-inline ui-corner-all ui-shadow">打開面板</a> </div> <div data-role="footer"> <h1>頁(yè)面底部</h1> </div> </div> </body> </html>
運(yùn)行實(shí)例 ?
點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例
面板展示
你可以通過使用 data-display 屬性來控制面板的展示方式:
屬性值 | 描述 |
---|---|
data-display="overlay" | 在內(nèi)容上顯示面板 |
data-display="push" | 是同時(shí)"推動(dòng)"面板和頁(yè)面。 |
data-display="reveal" | 默認(rèn)值,將頁(yè)面像幻燈片一樣從屏幕劃出,將面板顯示出來 |
實(shí)例
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> </head> <body> <div data-role="page" id="pageone"> <div data-role="panel" id="overlayPanel" data-display="overlay"> <h2>覆蓋面板</h2> <p>你可以使用按下 Esc 鍵、點(diǎn)擊面板外部區(qū)域、通過滑動(dòng)或點(diǎn)擊下面按鈕來關(guān)閉面板:</p> <a href="#pageone" data-rel="close" class="ui-btn ui-btn-inline ui-shadow ui-corner-all ui-btn-a ui-icon-delete ui-btn-icon-left">關(guān)閉面板</a> </div> <div data-role="panel" id="revealPanel" data-display="reveal"> <h2>滑出面板</h2> <p>你可以使用按下 Esc 鍵、點(diǎn)擊面板外部區(qū)域、通過滑動(dòng)或點(diǎn)擊下面按鈕來關(guān)閉面板:</p> <a href="#pageone" data-rel="close" class="ui-btn ui-btn-inline ui-shadow ui-corner-all ui-btn-a ui-icon-delete ui-btn-icon-left">關(guān)閉面板</a> </div> <div data-role="panel" id="pushPanel" data-display="push"> <h2>推動(dòng)面板</h2> <p>你可以使用按下 Esc 鍵、點(diǎn)擊面板外部區(qū)域、通過滑動(dòng)或點(diǎn)擊下面按鈕來關(guān)閉面板:</p> <a href="#pageone" data-rel="close" class="ui-btn ui-btn-inline ui-shadow ui-corner-all ui-btn-a ui-icon-delete ui-btn-icon-left">關(guān)閉面板</a> </div> <div data-role="header"> <h1>頁(yè)面頭部</h1> </div> <div data-role="main" class="ui-content"> <p>點(diǎn)擊以下按鈕查看面板的不同展示方式。</p> <a href="#overlayPanel" class="ui-btn ui-btn-inline ui-corner-all ui-shadow">覆蓋面板</a> <a href="#revealPanel" class="ui-btn ui-btn-inline ui-corner-all ui-shadow">滑出面板</a> <a href="#pushPanel" class="ui-btn ui-btn-inline ui-corner-all ui-shadow">推動(dòng)面板</a> </div> <div data-role="footer"> <h1>頁(yè)面底部</h1> </div> </div> </body> </html>
運(yùn)行實(shí)例 ?
點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例
面板定位
默認(rèn)情況下,面板會(huì)顯示在屏幕的左側(cè)。如果想讓面板出現(xiàn)在屏幕的右側(cè),可以指定 data-position="right" 屬性。
實(shí)例
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> </head> <body> <div data-role="page" id="pageone"> <div data-role="panel" id="myPanel" data-position="right"> <h2>面板頭部</h2> <p>你可以使用按下 Esc 鍵、點(diǎn)擊面板外部區(qū)域、通過滑動(dòng)或點(diǎn)擊下面按鈕來關(guān)閉面板:</p> <a href="#pageone" data-rel="close" class="ui-btn ui-btn-inline ui-shadow ui-corner-all ui-btn-a ui-icon-delete ui-btn-icon-left">關(guān)閉面板</a> </div> <div data-role="header"> <h1>頁(yè)面頭部</h1> </div> <div data-role="main" class="ui-content"> <p>打開下面按鈕顯示面板</p> <a href="#myPanel" class="ui-btn ui-btn-inline ui-corner-all ui-shadow">打開面板</a> </div> <div data-role="footer"> <h1>頁(yè)面底部</h1> </div> </div> </body> </html>
運(yùn)行實(shí)例 ?
點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例
你可以指定面板的內(nèi)容根據(jù)頁(yè)面滾動(dòng)而滾動(dòng)。默認(rèn)情況下面板是隨著頁(yè)面一起滾動(dòng)的(但是面板的內(nèi)容仍然位于頁(yè)面頂部)。如果你需要實(shí)現(xiàn)面板內(nèi)容固定不隨頁(yè)面滾動(dòng)而滾動(dòng),可以在面板添加 the data-position-fixed="true" 屬性:
實(shí)例
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> </head> <body> <div data-role="page" id="pageone"> <div data-role="panel" id="myPanelDefault"> <h2>面板頭部</h2> <p>你可以使用按下 Esc 鍵、點(diǎn)擊面板外部區(qū)域、通過滑動(dòng)或點(diǎn)擊下面按鈕來關(guān)閉面板:</p> <a href="#pageone" data-rel="close" class="ui-btn ui-btn-inline ui-shadow ui-corner-all ui-btn-a ui-icon-delete ui-btn-icon-left">關(guān)閉面板</a> </div> <div data-role="panel" id="myPanelFixed" data-position-fixed="true"> <h2>Panel Header</h2> <p>你可以使用按下 Esc 鍵、點(diǎn)擊面板外部區(qū)域、通過滑動(dòng)或點(diǎn)擊下面按鈕來關(guān)閉面板:</p> <a href="#pageone" data-rel="close" class="ui-btn ui-btn-inline ui-shadow ui-corner-all ui-btn-a ui-icon-delete ui-btn-icon-left">關(guān)閉面板</a> </div> <div data-role="header"> <h1>頁(yè)面頭部</h1> </div> <div data-role="main" class="ui-content"> <p>點(diǎn)擊兩個(gè)按鈕并滾動(dòng)查看效果。</p> <a href="#myPanelDefault" class="ui-btn ui-btn-inline ui-corner-all ui-shadow">打開默認(rèn)面板</a> <a href="#myPanelFixed" class="ui-btn ui-btn-inline ui-corner-all ui-shadow">打開面板使用 data-position-fixed="true"</a> <p><b>提示:</b>要查看 data-position-fixed="true" 屬性的效果,如果未出現(xiàn)滾動(dòng)條可以重置窗口大小。</p> <p>用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。用于滾動(dòng)的文本。。。。</p><br> </div> <div data-role="footer"> <h1>頁(yè)面底部</h1> </div> </div> </body> </html>
運(yùn)行實(shí)例 ?
點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例