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