changePage() 頁(yè)面跳轉(zhuǎn)
jQuery.mobile.changePage( to [, options ] )
從一個(gè)頁(yè)面跳轉(zhuǎn)到另一個(gè)頁(yè)面,使用$.mobile對(duì)象的changePage方法來(lái)實(shí)現(xiàn)。但要使用此方式的時(shí)候,要以點(diǎn)擊一個(gè)鏈接或者提交表單來(lái)實(shí)現(xiàn)。此方法有兩個(gè)參數(shù)。
to:是第一個(gè)參數(shù),是必須的,不可缺少。類(lèi)型:字符串或者對(duì)象。
字符串: 絕對(duì)或相對(duì)URL地址。如:("about/us.html")
對(duì)象:
jquery選擇器對(duì)象,如:($("#about"))。
一個(gè)指定了兩個(gè)頁(yè)面引用的數(shù)組[from,to] ,用以在已知的page進(jìn)行跳轉(zhuǎn). From 是當(dāng)前所能看到的頁(yè)面( 或者是 $.mobile.activePage )。
發(fā)送表單數(shù)據(jù)的對(duì)象,如({to: url, data: serialized form data, type: "get" or "post"} 。
options:是第二個(gè)參數(shù),是可選。類(lèi)型:對(duì)象
allowSamePageTransition(布爾值,默認(rèn):false)
默認(rèn)情況下,changePage() 會(huì)忽略跳轉(zhuǎn)到已活動(dòng)的頁(yè)面的請(qǐng)求。如果把這項(xiàng)設(shè)為true,會(huì)使之執(zhí)行。開(kāi)發(fā)者應(yīng)該注意有些頁(yè)面的轉(zhuǎn)場(chǎng)會(huì)假定一個(gè)跳轉(zhuǎn)頁(yè)面的請(qǐng)求中來(lái)自的頁(yè)面和目標(biāo)的頁(yè)面是不同的,所以不會(huì)有轉(zhuǎn)場(chǎng)動(dòng)畫(huà)。
changeHash(布爾值,默認(rèn):true)
判斷地址欄的哈希值是否應(yīng)被更新。
data(字符串 或 對(duì)象,默認(rèn):undefined)
要通過(guò)ajax請(qǐng)求發(fā)送的數(shù)據(jù),只在changePage() 的 to 參數(shù) 是一個(gè)地址的時(shí)候可用。
dataUrl(字符串,默認(rèn):undefined)
完成頁(yè)面轉(zhuǎn)換時(shí)要更新瀏覽器地址的URL地址。如不特別指定,則使用頁(yè)面的data-url屬性值。
pageContainer(jQuery選擇器,默認(rèn):$.mobile.pageContainer)指定應(yīng)該包含頁(yè)面的容器。
reloadPage(布爾值,默認(rèn):false)
強(qiáng)制刷新頁(yè)面, 即使當(dāng)頁(yè)面容器中的dom元素已經(jīng)準(zhǔn)備好時(shí),也強(qiáng)制刷新。只在changePage() 的 to 參數(shù) 是一個(gè)地址的時(shí)候可用。
reverse(布爾值,默認(rèn):false)
設(shè)定頁(yè)面轉(zhuǎn)場(chǎng)動(dòng)畫(huà)的方向,設(shè)置為true時(shí)將導(dǎo)致反方向的轉(zhuǎn)場(chǎng)。
role(字符串,默認(rèn):undefined)
顯示頁(yè)面的時(shí)候使用data-role值。默認(rèn)情況下此參數(shù)為認(rèn):undefined,意為取決于元素的@data-role屬性。
showLoadMsg(布爾值,默認(rèn):true) 設(shè)定加載外部頁(yè)面時(shí)是否顯示loading信息。
transition(字符串,默認(rèn):$.mobile.defaultPageTransition)使用顯示的頁(yè)面時(shí),過(guò)渡。
type(字符串,默認(rèn):get)
指定頁(yè)面請(qǐng)求的時(shí)候使用的方法("get" 或者 "post")。只在changePage() 的 to 參數(shù) 是一個(gè)地址的時(shí)候可用。
//以slideup效果 跳轉(zhuǎn)到 "about us" 頁(yè)面$.mobile.changePage("about/us.html", "slideup"); //以pop效果 跳轉(zhuǎn)到 "confirm" 頁(yè)面 并且在url hash里不記錄其歷史$.mobile.changePage("../alerts/confirm.html", "pop", false, false); //跳轉(zhuǎn)到 "search results" 頁(yè)面,提交id為 "search"的表單數(shù)據(jù)$.mobile.changePage({url:"searchresults.php" , type:"get" , data: $("form#search").serialize() }); //將頁(yè)面url,類(lèi)型,數(shù)據(jù)定義為變量來(lái)傳遞。var pageData = { url: formresults.php, type: 'get', data:$('form#myform').serialize () };$.mobile.changePage(pageData);//使用changepage來(lái)加載第三個(gè)頁(yè)面var previousPage = $.mobile.activePage.data ('ui.prevPage');$.mobile.changePage([previousPage, anotherPreviousPage], 'pop');
loadPage() 加載外部頁(yè)面
jQuery.mobile.loadPage( url [, options ] )
加載一個(gè)外部頁(yè)面,附加其內(nèi)容,并將其插入到DOM
url:是第一個(gè)參數(shù)。是必須的。類(lèi)型:字符串或者對(duì)象。
options:第二個(gè)參數(shù)。是可選的。類(lèi)型:對(duì)象。
allowSamePageTransition (default: false)
類(lèi)型:布爾值
默認(rèn)情況下,changepage()忽略請(qǐng)求改變當(dāng)前頁(yè)面。這個(gè)選項(xiàng)設(shè)置為true,允許請(qǐng)求執(zhí)行。開(kāi)發(fā)人員應(yīng)該注意的一些網(wǎng)頁(yè)過(guò)渡假設(shè)一個(gè)changepage請(qǐng)求設(shè)置FromPage、ToPage是不同的,所以他們可能不會(huì)如預(yù)期的動(dòng)畫(huà)。開(kāi)發(fā)人員負(fù)責(zé)提供適當(dāng)?shù)倪^(guò)渡,或關(guān)閉這個(gè)特定的情況下。
changeHash (default: true)
類(lèi)型:布爾值
如果地址欄中的哈希值應(yīng)更新
data (default: undefined)
類(lèi)型:數(shù)據(jù)或者字符串
要發(fā)送的數(shù)據(jù)與一個(gè)AJAX頁(yè)面請(qǐng)求
loadMsgDelay (default: 50)
類(lèi)型:數(shù)字
被迫延遲(毫秒)顯示之前加載信息。這是為了讓一個(gè)頁(yè)面已經(jīng)訪問(wèn)了被從緩存中取得沒(méi)有加載信息的時(shí)間
pageContainer (default: $.mobile.pageContainer)
類(lèi)型:jQuery選擇器
指定要包含的頁(yè)面元素
reloadPage (default: false)
類(lèi)型:布爾值
強(qiáng)制刷新頁(yè)面, 即使當(dāng)頁(yè)面容器中的dom元素已經(jīng)準(zhǔn)備好時(shí),也強(qiáng)制刷新。只在changePage() 的 to 參數(shù) 是一個(gè)地址的時(shí)候可用。
role (default: undefined)
類(lèi)型:字符串
顯示頁(yè)面的時(shí)候使用data-role值。默認(rèn)情況下此參數(shù)為認(rèn):undefined,依賴(lài)于元素的@data-role屬性。
showLoadMsg (default: true)
類(lèi)型:布爾值
加載外部頁(yè)面時(shí),設(shè)定是否顯示loading信息。
transition (default: $.mobile.defaultPageTransition)
類(lèi)型:字符串
使用顯示的頁(yè)面時(shí),過(guò)渡
type (default: "get")
類(lèi)型:字符串
指定頁(yè)面請(qǐng)求的時(shí)候使用的方法("get" 或者 "post")。只在changePage() 的 to 參數(shù) 是一個(gè)地址的時(shí)候可用。
加載一個(gè)外部頁(yè)面,提高其內(nèi)容,并將其插入到DOM。這種方法被稱(chēng)為內(nèi)部的changepage()功能時(shí),它的第一個(gè)參數(shù)是一個(gè)URL。這個(gè)函數(shù)不影響當(dāng)前頁(yè)面可以在后臺(tái)加載頁(yè)面。該函數(shù)返回一個(gè)對(duì)象,獲取延期承諾在該頁(yè)被增強(qiáng),插入到文檔中的解決。
加載“about/us.html”的頁(yè)面到DOM
<!doctype html><html lang="en"><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>jQuery.mobile.loadPage demo</title> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css"> <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <!-- The script below can be omitted --> <script src="/resources/turnOffPushState.js"></script> <script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script></head><body> <div data-role="page"> <div></div> </div><script>$.mobile.loadPage( "about/us.html" );</script> </body></html>
加載一個(gè)“searchresults.php”頁(yè),要發(fā)送的表單數(shù)據(jù)是“search”字符。
<!doctype html><html lang="en"><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>jQuery.mobile.loadPage demo</title> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css"> <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <!-- The script below can be omitted --> <script src="/resources/turnOffPushState.js"></script> <script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script></head><body> <div data-role="page"> <div></div> </div><script>$.mobile.loadPage( "searchresults.php", { type: "post", data: $( "form#search" ).serialize()});</script> </body></html>