您好,登錄后才能下訂單哦!
本篇內容介紹了“如何實現html5各種頁面切換效果和模態對話框”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
具體分析如下:
頁面動畫:
data-transition 屬性可以定義頁面切換是的動畫效果。
例如:<a href="index.html" data-transition="pop">I'll pop</a>
data-transition 參數表:
參數說明
slide 從右側向左滑入頁面
slideup 從底部向上滑入
slidedown 從上向下滑入
pop 從中心漸顯展開
fade 漸顯
flip 翻轉
備注:如果想要在目標頁面中顯示后退按鈕,可以在鏈接中加入 data-direction="reverse"屬性,這個屬性和原來的 data-back="true"相同,不知道在正式版本中將會保留哪個屬性。
模態對話框
模態對話框是一種帶有圓角標題欄和關閉按鈕的偽浮動層,用于獨占事件的應用。任何結構化的頁面都可以用 data-rel="dialog"鏈接的方式實現模態對話框應用。
例如:<a href="foo.html" data-rel="dialog">Open dialog</a>
這個頁面切換效果同樣可以使用標準頁面的 data-transition 參數效果。建議使用"pop"、"slideup" 和"flip"參數以達到更好的效果。
這個模態對話框會默認生成關閉按鈕,用于回到父級頁面。在腳本能力較弱的設備上也可以添加一個帶有 data-rel="back"的鏈接來實現關閉按鈕。
針對支持腳本的設備可以直接使用 href=”#”或者 data-rel="back"來實現關閉。還可以使用內置的”close”方法來關閉模態對話框,例如:$('.ui-dialog').dialog('close')。
由于模態對話框是動態顯示的臨時頁面,所以這個頁面不會被保存在哈希表內,這就意味著我們講無法后退到這個頁面,例如你在 A 頁面中點擊一個鏈接打開 B 對話框,操作完成并關閉對話框,然后跳轉到 C 頁面,這時候你點擊瀏覽器的后退按鈕,這時候將回到 A 頁面,而不是 B 頁面。
工具條
工具條主要用于”header”,”footer”等區域,用來支撐和實現頁面中業務功能的應用。jQuery Mobile 提供了一個相對完整的解決方案。
工具條分為:標題(header bar),頁腳(footer bar)和導航(nav bar)這三中應用。
其中標題和頁腳在頁面中有一些不同的應用方式,默認工具條是以嵌入(inline)的方式定位的,這種定位方式可以實現最大限度的兼容性,包括在對腳本和 css 兼容性不佳的設備都有很好的優化。
另一種是浮動(fixed)定位的方式,也可以成為“靜態“定位,這種定位方式可以讓工具條始終保持在屏幕的頂部或者底部。并可以接受點擊事件來顯示/隱藏工具條,已達到最大化利用屏幕空間的目的。
實現方式:在標題和頁腳區域加入 data-position="fixed"屬性。
標題容器
標題容器是頁面頁眉區域的顯示控件,主要用來顯示標題和主要操作的區域。
結構代碼:
代碼如下:
<div data-role="header">
<h2>Page Title</h2>
</div>
為了方便頁面的交互在頁面切換后會在標題容器的左側自動生成一個后退按鈕,這樣可以簡化我們的開發復雜程度,但是有些時候我們會因為應用的需求而不需要這個后退按鈕,可以在標題容器上添加 data-backbtn="false"屬性用來阻止后退按鈕的自動創建。
標題容器的左側和右側分別可以放置一個按鈕,在阻止自動生成的后退按鈕后,我們就可以在后退按鈕的位置來自定義按鈕了。
例如:
代碼如下:
<div data-role="header" data-position="inline" data-backbtn="false" >
<a href="index.html" data-icon="delete">Cancel</a>
<h2>Edit Contact</h2>
<a href="index.html" data-icon="check">Save</a>
</div>
如果需要自定義默認的后退按鈕中的文本,可以用data-back-btn-text="previous"屬性來實現,或者通過擴展的方式實現:
代碼如下:
$.mobile.page.prototype.options.backBtnText = "previous"
如果你沒有使用標準的結構來創建標題區域,那么框架將不會自動生成默認的按鈕。
頁腳容器
頁腳容器的結構和標題容器的結構基本相同,只要把 data-role 屬性的參數設置為”footer”。
例如:
代碼如下:
<div data-role="footer">
<h5>Footer content</h5>
</div>
與標題容器相比頁腳容器有更多的靈活度,它不會想標題容器一樣只允許放置兩個按鈕,并且也不會默認的把按鈕放置在左右的頂端,頁腳的按鈕默認是從左到右依次排列的,并且何以放置更多的按鈕。
在頁腳容器上只要添加一個 class="ui-bar"就可以將頁腳變成一個工具條,你可以不用設置任何的布局樣式就可以在其中添加整齊的按鈕。
例如:
代碼如下:
<div data-role="footer" class="ui-bar">
<a href="index.html" data-role="button" data-icon="delete">Remove</a>
<a href="index.html" data-role="button" data-icon="plus">Add</a>
<a href="index.html" data-role="button" data-icon="arrow-u">Up</a>
<a href="index.html" data-role="button" data-icon="arrow-d">Down</a>
</div>
如果我們需要一組鏈接效果,我們可以這樣寫:
代碼如下:
<div data-role="footer" class="ui-bar" data-position="inline">
<div data-role="controlgroup" data-type="horizontal">
<a href="index.html" data-icon="delete">Remove</a>
<a href="index.html" data-icon="plus">Add</a>
<a href="index.html" data-icon="arrow-u">Up</a>
<a href="index.html" data-icon="arrow-d">Down</a>
</div>
</div>
技巧:通過使用 data-id 屬性可以讓多個頁面使用相同的頁腳。
導航
導航容器是一個可以每行容納最多 5 個按鈕的按鈕組控件,用一個擁有 data-role="navbar"
屬性的 div 來容納這些按鈕。
例子:
代碼如下:
<div data-role="footer">
<div data-role="navbar">
<ul>
<li><a href="a.html" class="ui-btn-active">One</a></li>
<li><a href="b.html">Two</a></li>
</ul>
</div><!-- /navbar -->
</div><!-- /footer -->
在默認的按鈕上添加 class="ui-btn-active"
如果按鈕的數量超過 5 個,導航容器將會自動以合適的數量分配成多行顯示。
按鈕
你可以將頁面中的任何一個鏈接通過 data-role="button"來聲明成為按鈕的顯示風格。為了風格統一,框架會在頁面加載時自動將 form 類的按鈕格式化為 jQuery Mobile 風格的按鈕,不需要添加 data-role 屬性。
框架中包含了一組常用的圖標可以用于按鈕,用 data-icon 屬性中的參數來定義顯示不同的圖標效果。
例如:
代碼如下:
<a href="index.html" data-role="button" data-icon="delete">Delete</a>
data-icon 原生參數列表
除了可以默認顯示左側的圖標之外,還可以用 data-iconpos 屬性來定義圖標與文字的位置關系。
data-iconpos 參數列表:
參數效果:
right 圖標在文字的右側
top 圖標在文字上面
bottom 圖標在文字下面
data-iconpos="notext"屬性可以讓按鈕隱藏文字。
內聯樣式
在框架中默認情況下按鈕是橫向獨占根據屏幕寬度橫向自適應的,但是我們在應用的應用中經常需要在一行中顯示多個按鈕,這時候我們就需要知道一個新的叫做內聯模式的屬性了
data-inline="true"。
例如:
代碼如下:
<div data-inline="true">
<a href="index.html" data-role="button">Cancel</a>
<a href="index.html" data-role="button" data-theme="b">Save</a>
</div>
按鈕組
jQuery Mobile 框架可以將幾個按鈕以組的方式顯示,data-role="controlgroup"用以展示按鈕間的緊湊關系。例如:
代碼如下:
<div data-role="controlgroup">
<a href="index.html" data-role="button">Yes</a>
<a href="index.html" data-role="button">No</a>
<a href="index.html" data-role="button">Maybe</a>
</div>
如果需要按鈕橫向排列可以增加 data-type="horizontal"屬性。
表單應用
jQuery Mobile 框架為原生的 html 表單元素封裝了新的表現形式,對觸屏設備的操作進行了優化。在框架的頁面中會自動將 form 元素渲染成 jQuery Mobile 風格的元素。
form 元素的使用和默認的 html 方式使用相同,可以同樣使用 Post 和 get 方式提交數據,但是需要注意的是元素的 ID 命名問題,在常規的規范中同一個頁面中是不允許出現相同的 ID命名的,在 jQuery Mobile 中由于其允許在同一個 DOM 中存在多個頁面,所以建議 form 元素的 ID 命名在整個項目中是唯一的,防止由于 ID 問題引發的錯誤。
默認情況下框架會自動渲染在標準頁面中的 form 元素的風格,一旦成功渲染后,這個控件元素將可以使用 jQuery 中的函數進行操作。在某些情況下,我們需要使用 html 原生的 form 元素,為了阻止 mobile 框架對該元素的自動渲染,在框架中我們在 data-role 屬性中引入了一個控制參數”none”。使用這個屬性參數就會讓該元素以 html 原生的狀態顯示。
例如:
代碼如下:
<select name="foo" id="foo" data-role="none">
<option value="a" >A</option>
<option value="b" >B</option>
<option value="c" >C</option>
</select>
列表應用
信息列表是開發應用中使用頻率相對比較高的控件,用于數據顯示、導航, 數據列表等。為了適應不同的信息內容,列表的表現形式也多種多樣。
列表的代碼結構是以有序和無序列表來實現的,只要在 ul 或 ol 上聲明 data-role="listview"就可以讓框架以列表的方式渲染了,例如:
代碼如下:
<ul data-role="listview" data-theme="g">
<li><a href="acura.html">Acura</a></li>
<li><a href="audi.html">Audi</a></li>
<li><a href="bmw.html">BMW</a></li>
</ul>
如果需要在列表里添加數據,則需要在數據加載后執行 refresh()方法對列表進行數據更新。
例如:
代碼如下:
$('ul').listview('refresh');
“如何實現html5各種頁面切換效果和模態對話框”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。