jQuery移动web开发之页面跳转和加载外部页面的实现


Posted in Javascript onDecember 04, 2015

changePage() 页面跳转

jQuery.mobile.changePage( to [, options ] )

从一个页面跳转到另一个页面,使用$.mobile对象的changePage方法来实现。但要使用此方式的时候,要以点击一个链接或者提交表单来实现。此方法有两个参数。

to:是第一个参数,是必须的,不可缺少。类型:字符串或者对象。

字符串: 绝对或相对URL地址。如:("about/us.html")

对象:
jquery选择器对象,如:($("#about"))。
一个指定了两个页面引用的数组[from,to] ,用以在已知的page进行跳转. From 是当前所能看到的页面( 或者是 $.mobile.activePage )。
发送表单数据的对象,如({to: url, data: serialized form data, type: "get" or "post"} 。

options:是第二个参数,是可选。类型:对象

allowSamePageTransition(布尔值,默认:false)
默认情况下,changePage() 会忽略跳转到已活动的页面的请求。如果把这项设为true,会使之执行。开发者应该注意有些页面的转场会假定一个跳转页面的请求中来自的页面和目标的页面是不同的,所以不会有转场动画。

changeHash(布尔值,默认:true)
判断地址栏的哈希值是否应被更新。

data(字符串 或 对象,默认:undefined)
要通过ajax请求发送的数据,只在changePage() 的 to 参数 是一个地址的时候可用。

dataUrl(字符串,默认:undefined)
完成页面转换时要更新浏览器地址的URL地址。如不特别指定,则使用页面的data-url属性值。

pageContainer(jQuery选择器,默认:$.mobile.pageContainer)指定应该包含页面的容器。

reloadPage(布尔值,默认:false)
强制刷新页面, 即使当页面容器中的dom元素已经准备好时,也强制刷新。只在changePage() 的 to 参数 是一个地址的时候可用。

reverse(布尔值,默认:false)
设定页面转场动画的方向,设置为true时将导致反方向的转场。

role(字符串,默认:undefined)
显示页面的时候使用data-role值。默认情况下此参数为认:undefined,意为取决于元素的@data-role属性。

showLoadMsg(布尔值,默认:true) 设定加载外部页面时是否显示loading信息。

transition(字符串,默认:$.mobile.defaultPageTransition)使用显示的页面时,过渡。

type(字符串,默认:get)
指定页面请求的时候使用的方法("get" 或者 "post")。只在changePage() 的 to 参数 是一个地址的时候可用。

//以slideup效果 跳转到 "about us" 页面

$.mobile.changePage("about/us.html", "slideup"); 
//以pop效果 跳转到 "confirm" 页面 并且在url hash里不记录其历史

$.mobile.changePage("../alerts/confirm.html", "pop", false, false); 
//跳转到 "search results" 页面,提交id为 "search"的表单数据

$.mobile.changePage({url:"searchresults.php" , type:"get" , data: $("form#search").serialize() }); 
//将页面url,类型,数据定义为变量来传递。

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 ] )

加载一个外部页面,附加其内容,并将其插入到DOM

url:是第一个参数。是必须的。类型:字符串或者对象。

options:第二个参数。是可选的。类型:对象。

allowSamePageTransition (default: false)
类型:布尔值
默认情况下,changepage()忽略请求改变当前页面。这个选项设置为true,允许请求执行。开发人员应该注意的一些网页过渡假设一个changepage请求设置FromPage、ToPage是不同的,所以他们可能不会如预期的动画。开发人员负责提供适当的过渡,或关闭这个特定的情况下。

changeHash (default: true)
类型:布尔值
如果地址栏中的哈希值应更新

data (default: undefined)
类型:数据或者字符串
要发送的数据与一个AJAX页面请求

loadMsgDelay (default: 50)
类型:数字
被迫延迟(毫秒)显示之前加载信息。这是为了让一个页面已经访问了被从缓存中取得没有加载信息的时间

pageContainer (default: $.mobile.pageContainer)
类型:jQuery选择器
指定要包含的页面元素

reloadPage (default: false)
类型:布尔值
强制刷新页面, 即使当页面容器中的dom元素已经准备好时,也强制刷新。只在changePage() 的 to 参数 是一个地址的时候可用。

role (default: undefined)
类型:字符串
显示页面的时候使用data-role值。默认情况下此参数为认:undefined,依赖于元素的@data-role属性。

showLoadMsg (default: true)
类型:布尔值
加载外部页面时,设定是否显示loading信息。

transition (default: $.mobile.defaultPageTransition)
类型:字符串
使用显示的页面时,过渡

type (default: "get")
类型:字符串
指定页面请求的时候使用的方法("get" 或者 "post")。只在changePage() 的 to 参数 是一个地址的时候可用。

加载一个外部页面,提高其内容,并将其插入到DOM。这种方法被称为内部的changepage()功能时,它的第一个参数是一个URL。这个函数不影响当前页面可以在后台加载页面。该函数返回一个对象,获取延期承诺在该页被增强,插入到文档中的解决。
加载“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" 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>

 

加载一个“searchresults.php”页,要发送的表单数据是“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>
Javascript 相关文章推荐
javascript 面向对象,实现namespace,class,继承,重载
Oct 29 Javascript
JavaScript SetInterval与setTimeout使用方法详解
Nov 15 Javascript
node.js中的events.emitter.listeners方法使用说明
Dec 10 Javascript
JQuery删除DOM节点的方法
Jun 11 Javascript
JavaScript获取对象在页面中位置坐标的方法
Feb 03 Javascript
zTree异步加载展开第一级节点的实现方法
Sep 05 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
Nov 08 jQuery
vue自定义底部导航栏Tabbar的实现代码
Sep 03 Javascript
小程序指纹验证的实现代码
Dec 04 Javascript
vue使用pdfjs显示PDF可复制的实现方法
Dec 14 Javascript
微信小程序生成分享海报方法(附带二维码生成)
Mar 29 Javascript
vant 时间选择器--开始时间和结束时间实例
Nov 04 Javascript
详解JavaScript逻辑And运算符
Dec 04 #Javascript
JavaScript encodeURI 和encodeURIComponent
Dec 04 #Javascript
详解JavaScript逻辑Not运算符
Dec 04 #Javascript
简要了解jQuery移动web开发的响应式布局设计
Dec 04 #Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
Dec 04 #Javascript
jQuery使用$.ajax进行异步刷新的方法(附demo下载)
Dec 04 #Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
Dec 04 #Javascript
You might like
基于pear auth实现登录验证
2010/02/26 PHP
JavaScript 继承详解(四)
2009/07/13 Javascript
javascript textContent与innerText的异同分析
2010/10/22 Javascript
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
关于js里的this关键字的理解
2015/08/17 Javascript
JS实现为排序好的字符串找出重复行的方法
2016/03/02 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
canvas绘制万花筒效果(代码分享)
2017/01/20 Javascript
vue实现手机号码抽奖上下滚动动画示例
2017/10/18 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
原生javascript AJAX 三级联动的实现代码
2018/05/04 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
2018/08/27 Javascript
解决vue项目使用font-awesome,build后路径的问题
2018/09/01 Javascript
JS原生带缩略图的图片切换效果
2018/10/10 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
2020/07/07 Javascript
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
python实现马耳可夫链算法实例分析
2015/05/20 Python
Python常用小技巧总结
2015/06/01 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
2018/10/11 Python
解决python3 Pycharm上连接数据库时报错的问题
2018/12/03 Python
python最小生成树kruskal与prim算法详解
2019/01/17 Python
实例详解Matlab 与 Python 的区别
2019/04/26 Python
python射线法判断检测点是否位于区域外接矩形内
2019/06/28 Python
初次部署django+gunicorn+nginx的方法步骤
2019/09/11 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
CSS3 选择器 伪类选择器介绍
2012/01/21 HTML / CSS
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
幼师专业毕业生自荐信
2013/09/29 职场文书
励志演讲稿3分钟
2014/08/21 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
php字符串倒叙
2021/04/01 PHP
SpringBoot工程下使用OpenFeign的坑及解决
2021/07/02 Java/Android