最新的Web開發教程
 

jQuery Mobile彈出窗口


jQuery Mobile的彈出窗口

彈出窗口類似於對話框,因為它們都覆蓋頁面的一部分。 當你想要顯示的小文本,圖片,地圖或其他內容一個彈出框會很有用。

要創建一個彈出,開始一個<a>元素和<div>元素。 添加data-rel="popup"屬性<a> ,而data-role="popup"屬性<div> 然後指定一個id <div>並設置href<a>匹配指定的ID。 裡面的內容<div>是實際的內容,當用戶點擊鏈接即會彈出。

注:彈出<div>必須是同一頁面的鏈接中。

< a href="#myPopup" data-rel="popup" class="ui-btn ui-btn-inline ui-corner-all">Show Popup</a>

< div data-role="popup" id="myPopup" >
  <p>This is a simple popup.</p>
</div>
試一試»

如果你想在彈出框中一些額外的填充和保證金,加入"ui-content"<div>

<div data-role="popup" id="myPopup" class="ui-content" >
試一試»

關閉彈出窗口

默認情況下,彈出窗口可以通過點擊彈出框外或按關閉"Esc"鍵。 如果你不想在彈出的是通過單擊框外關閉的,你可以添加data-dismissible="false"屬性,在彈出的(不是真的推薦)。 您還可以添加一個關閉按鈕彈出,放在右邊或左邊。 這樣做,添加與一個按鈕鏈路data-rel="back"屬性入彈出容器中,並通過CSS類定位的按鈕。

描述
右鍵關閉按鈕 嘗試一下
左關閉按鈕 嘗試一下
Undismissible彈出 嘗試一下

定位彈出窗口

默認情況下,彈出窗口將直接出現在點擊的元素。 控制彈出的位置,使用該數據位置到用來打開彈出的鏈接屬性。

有定位彈出的三種方式:

屬性值 描述
data-position-to="window" 彈出窗口將出現在窗口中居中
data-position-to="#myId" 彈出被定位在元件與指定#ID
data-position-to="origin" 默認。 彈出是在點擊的元素直接定位

<a href="#myPopup1" data-rel="popup" class="ui-btn" data-position-to="window" >Window</a>
<a href="#myPopup2" data-rel="popup" class="ui-btn" data-position-to="#demo"> id="demo"</a>
<a href="#myPopup3" data-rel="popup" class="ui-btn" data-position-to="origin" >Origin</a>
試一試»

全視線

缺省情況下,彈出窗口不必加入到他們的任何過渡效果。 您可以使用任何的效果,我們在“轉換”一章介紹。 只是應用的數據轉換=“value”屬性來打開彈出的鏈接:

所有可用的過渡效果演示

<a href="#myPopup" data-rel="popup" class="ui-btn" data-transition="fade" >Fade</a>
試一試»

彈出箭頭

為箭頭添加到彈出窗口的邊框,使用數據箭頭的屬性,並指定值"l" (left), "t" (top), "r" (right)"b" (bottom)

<a href="#myPopup" data-rel="popup" class="ui-btn">Open Popup</a>

<div data-role="popup" id="myPopup" class="ui-content" data-arrow="l" >
  <p>There is an arrow on my LEFT border.</p>
</div>
試一試»

彈出對話框

您可以添加標準的對話框標記成一個彈出(標題,內容和頁腳標記):

<a href="#myPopupDialog" data-rel="popup" class="ui-btn">Open Dialog Popup</a>

<div data-role="popup" id="myPopupDialog">
  <div data-role="header"><h1>Header Text..</h1></div>
  <div data-role="main" class="ui-content"><p>Some text..</p><a href="#">some links..</a>
  <div data-role="footer"><h1>Footer Text..</h1></div>
</div>
試一試»

彈出照片

您還可以顯示在彈出的圖像:

<a href="#myPopup" data-rel="popup" data-position-to="window">
<img src="skaret.jpg" alt="Skaret View" style="width:200px;"></a>

<div data-role="popup" id="myPopup">
  <img src="skaret.jpg" style="width:800px;height:400px;" alt="Skaret View">
</div>
試一試»

注:彈出窗口是不理想的,當你有一整組要顯示(像500張圖片專輯)的圖像。 然而,一對夫婦需要被視為較大的圖像的 - 它們是完美的。


彈出覆蓋

您可以控制彈出(頁面本身)與後面的背景色data-overlay-theme屬性。

默認情況下,覆蓋層是透明的。 使用data-overlay-theme="a"添加光疊加和數據覆蓋主題=“b”按鈕添加一個黑暗的疊加:

<a href="#myPopup" data-rel="popup">Show Popup</a>

<div data-role="popup" id="myPopup" data-overlay-theme="b" >
  <p>I have a dark background behind me.</p>
</div>
試一試»

疊加效應經常用於彈出的照片:

<a href="#myPopup" data-rel="popup" data-position-to="window">
<img src="skaret.jpg" alt="Skaret View" style="width:200px;"></a>

<div data-role="popup" id="myPopup" data-overlay-theme="b" >
  <img src="skaret.jpg" style="width:800px;height:400px;" alt="Skaret View">
</div>
試一試»

注意:您也將學會如何在後面的章節形式和列表視圖中使用彈出窗口。