jQuery Mobile 中的面板會在螢幕的左側向右側劃出。
透過在指定 id 的 <div> 元素中新增 data-role="panel" 屬性來建立面板。
在<div> 中加入HTML 標記來顯示你的面板內容:
<div data-role="panel" id="myPanel">
<h2>面板标题..</h2>
<p>文本内容..</p>
</div>
注意: panel 標記必須置於頭部、內容、底部組成的頁面之前或之後。
要訪問面板,需要建立一個指向面板<div> id 的鏈接,點擊該鏈接即可打開面板:
<a href="#myPanel" class="ui-btn ui-btn-inline">打开面板</a>
簡單的面板實例
實例
<!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 键或滑动来关闭面板。</p>
</div>
<div data-role="header">
<h1>页面头部</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>页面底部</h1>
</div>
</div>
</body>
</html>
運行實例»點擊"運行實例"按鈕查看線上實例
關閉面板
你可以點選面板外部區域或按下Esc 鍵或滑動來關閉面板。你可以透過使用data-* 屬性來停用滑動和點擊來關閉面板:
#屬性 | 值 | ##描述 | 實例 |
---|
data-dismissible | #true | false | 指定面板是否可以透過點擊面板外部區域來關閉。 | 嘗試一下 |
data-swipe-close | #true | false | 指定是否可以通過滑動來關閉。 | 試試看 |
你可以使用按鈕來關閉面板:只需要在面板的<div> 中加入data-rel="close" 屬性。
從效能考慮,我們需要鍵關閉連結的 href 屬性指向頁面的 ID 。
實例
<!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 键、点击面板外部区域、通过滑动或点击下面按钮来关闭面板:</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">关闭面板</a>
</div>
<div data-role="header">
<h1>页面头部</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>页面底部</h1>
</div>
</div>
</body>
</html>
#運行實例»
##點擊"運行實例"按鈕查看線上實例面板展示
你可以透過使用data-display 屬性來控制面板的展示方式:
屬性值描述 | |
data-display="overlay"在內容上顯示面板 | |
data-display="push"是同時"推動"面板和頁面。 | |
data-display="reveal"預設值,將頁面像投影片一樣從螢幕劃出,將面板顯示出來 | |
#
實例
<!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 键、点击面板外部区域、通过滑动或点击下面按钮来关闭面板:</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">关闭面板</a>
</div>
<div data-role="panel" id="revealPanel" data-display="reveal">
<h2>滑出面板</h2>
<p>你可以使用按下 Esc 键、点击面板外部区域、通过滑动或点击下面按钮来关闭面板:</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">关闭面板</a>
</div>
<div data-role="panel" id="pushPanel" data-display="push">
<h2>推动面板</h2>
<p>你可以使用按下 Esc 键、点击面板外部区域、通过滑动或点击下面按钮来关闭面板:</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">关闭面板</a>
</div>
<div data-role="header">
<h1>页面头部</h1>
</div>
<div data-role="main" class="ui-content">
<p>点击以下按钮查看面板的不同展示方式。</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">推动面板</a>
</div>
<div data-role="footer">
<h1>页面底部</h1>
</div>
</div>
</body>
</html>
#執行實例»點擊"運行實例" 按鈕查看線上實例
面板定位
預設情況下,面板會顯示在螢幕的左側。如果想要讓面板出現在螢幕的右側,可以指定 data-position="right" 屬性。
實例
<!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 键、点击面板外部区域、通过滑动或点击下面按钮来关闭面板:</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">关闭面板</a>
</div>
<div data-role="header">
<h1>页面头部</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>页面底部</h1>
</div>
</div>
</body>
</html>
運行實例»點擊"運行實例" 按鈕查看線上實例
你可以指定面板的內容根據頁面滾動而滾動。預設情況下面板是隨著頁面一起滾動的(但是面板的內容仍然位於頁面頂部)。如果你需要實作面板內容固定不隨頁面捲動而捲動,可以在面板上新增the data-position-fixed="true" 屬性:
實例
<!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 键、点击面板外部区域、通过滑动或点击下面按钮来关闭面板:</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">关闭面板</a>
</div>
<div data-role="panel" id="myPanelFixed" data-position-fixed="true">
<h2>Panel Header</h2>
<p>你可以使用按下 Esc 键、点击面板外部区域、通过滑动或点击下面按钮来关闭面板:</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">关闭面板</a>
</div>
<div data-role="header">
<h1>页面头部</h1>
</div>
<div data-role="main" class="ui-content">
<p>点击两个按钮并滚动查看效果。</p>
<a href="#myPanelDefault" class="ui-btn ui-btn-inline ui-corner-all ui-shadow">打开默认面板</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" 属性的效果,如果未出现滚动条可以重置窗口大小。</p>
<p>用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。用于滚动的文本。。。。</p><br>
</div>
<div data-role="footer">
<h1>页面底部</h1>
</div>
</div>
</body>
</html>
運行實例»點擊"運行實例"按鈕查看線上實例
#