jQuery Mobile页面跳转切换的几种方式

jQuery Mobile在移动开发中越来越受到欢迎。而他的各个版本也在持续不断的更新中。同样的我也很喜欢它,它加快了我们开发HTML5的速度。
同时又具备jQuery一样的操作方法。学起来也是相当的容易。所以这一片文章就是介绍jQuery Mobile的页面跳转的。
少说废话,看源码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>jQuery Mobile页面跳转切换的几种方式</title>

    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">

    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css">
	<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
	<script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
	<!--<link rel="stylesheet" type="text/css" href="../jQuery/jquery.mobile-1.3.2.min.css">
	<script type="text/javascript" src="../jQuery/jquery-1.8.3.min.js"></script>
	<script type="text/javascript" src="../jQuery/jquery.mobile-1.3.2.min.js"></script>
  --></head>

  <body>
    <div data-role="page" id="welPage" data-theme="a">
		<div data-role="header" data-position="fixed" data-theme="a">
			<h1>
				涛哥伪专家管理系统
			</h1>
			<a href="javascript:location.reload();" data-role="button" class="ui-btn-right" data-icon="refresh">刷新</a>
		</div>

		<div data-role="content">
			<p>我是第一个页面</p>
			<p>
				如有不懂,请加qq群:135430763,共同学习!
			</p>
			<p>
				如有不懂,请加qq群:135430763,共同学习!
			</p>
			<p>
				如有不懂,请加qq群:135430763,共同学习!
			</p>
			<p>
				如有不懂,请加qq群:135430763,共同学习!
			</p>
			<a href="#nextPage" >跳转到下一个页面</a>
		</div>

		<div id="footer" data-role="footer" data-theme="a" data-position="fixed">
			<h1>
				涛哥伪专家管理系统
			</h1>
		</div>
	</div>

	<div data-role="page" id="nextPage" data-theme="a">
		<div data-role="header" data-position="fixed" data-theme="a">
			<h1>
				涛哥伪专家管理系统
			</h1>
			<a href="javascript:location.reload();" data-role="button" class="ui-btn-right" data-icon="refresh">刷新</a>
		</div>

		<div data-role="content">
			<p>我是第二个页面</p>
			<p>
				如有不懂,请加qq群:135430763,共同学习!
			</p>
			<p>
				如有不懂,请加qq群:135430763,共同学习!
			</p>
			<p>
				如有不懂,请加qq群:135430763,共同学习!
			</p>
			<p>
				如有不懂,请加qq群:135430763,共同学习!
			</p>
			<a href="#goPage" >跳转到下一个页面</a>
		</div>

		<div id="footer" data-role="footer" data-theme="a" data-position="fixed">
			<h1>
				涛哥伪专家管理系统
			</h1>
		</div>
	</div>

	<div data-role="page" id="goPage" data-theme="a">
		<div data-role="header" data-position="fixed" data-theme="a">
			<h1>
				涛哥伪专家管理系统
			</h1>
			<a href="javascript:location.reload();" data-role="button" class="ui-btn-right" data-icon="refresh">刷新</a>
		</div>

		<div data-role="content">
			<p>我是第三个页面</p>
			<p>
				如有不懂,请加qq群:135430763,共同学习!
			</p>
			<p>有几种方法来切换页面</p>
			<p>1. $.mobile.changePage ('../path/to/page.html');</p>
			<p>2. $.mobile.changePage ('other/page.html', 'fade', false, false);</p>
			<p>可以设定页面切换效果,以及定义参数来控制页面是否记录历史等</p>
			<p>3.var pageData = { url: formresults.php, type: 'get', data:</p>
			<p>$('form#myform').serialize () };</p>
			<p>$.mobile.changePage (pageData);</p>
			<p>将页面url,类型,数据定义为变量来传递。</p>
			<p>4.var previousPage = $.mobile.activePage.data ('ui.prevPage');</p>
			<p>$.mobile.changePage ([previousPage, anotherPreviousPage], 'pop');</p>
			<p>使用changepage来加载第三个页面</p>
			<p>5.$.mobile.pageLoading ();  /显示加载信息</p>
			<p>$.mobile.pageLoading (true); //隐藏</p>
			<p>pageLoading(boolean done)</p>
			<p>函数显示或隐藏页面加载的提示信息。可以在$.mobile.loadingMessage变量中设置。</p>
			<p>6 .$.mobile.silentScroll (100);</p>
			<p>silentScroll (number yPos): 在Y轴上(默认为0)滚动页面而不需要触发scroll事件</p>
			<a href="#welPage" >跳转到第一个页面</a>
		</div>

		<div id="footer" data-role="footer" data-theme="a" data-position="fixed">
			<h1>
				涛哥伪专家管理系统
			</h1>
		</div>
	</div>
	<script type="text/javascript">
		//home菜单的onclick事件的处理方法
		function fun1(){
			//激活nav1
			$('#nav1').addClass('ui-btn-active');
			//显示我home菜单的内容
			$('#show1').css('display','');
			//grid,search,info都隐藏
			$('#show2').css('display','none');
			$('#show3').css('display','none');
			$('#show4').css('display','none');
			//nav2,nav3,nav4 取消激活
			$('#nav2').removeClass('ui-btn-active');
			$('#nav3').removeClass('ui-btn-active');
			$('#nav4').removeClass('ui-btn-active');
		}
		//grid菜单的onclick事件的处理方法
		function fun2(){
			//激活nav2
			$('#nav2').addClass('ui-btn-active');
			//显示我grid菜单的内容,home,search,info都隐藏
			$('#show1').css('display','none');
			$('#show2').css('display','');
			$('#show3').css('display','none');
			$('#show4').css('display','none');
			//nav1,nav3,nav4 取消激活
			$('#nav1').removeClass('ui-btn-active');
			$('#nav3').removeClass('ui-btn-active');
			$('#nav4').removeClass('ui-btn-active');
		}
		//search菜单的onclick事件的处理方法
		function fun3(){
			//激活nav3
			$('#nav3').addClass('ui-btn-active');
			$('#show1').css('display','none');
			$('#show2').css('display','none');
			//显示我search菜单的内容,home,grid,info都隐藏
			$('#show3').css('display','');
			$('#show4').css('display','none');
			//nav1,nav2,nav4 取消激活
			$('#nav2').removeClass('ui-btn-active');
			$('#nav1').removeClass('ui-btn-active');
			$('#nav4').removeClass('ui-btn-active');
		}
		//info菜单的onclick事件的处理方法
		function fun4(){
			$('#nav4').addClass('ui-btn-active');
			$('#show1').css('display','none');
			$('#show2').css('display','none');
			$('#show3').css('display','none');
			//显示我info菜单的内容,home,grid,search都隐藏
			$('#show4').css('display','');
			//nav1,nav2,nav3 取消激活
			$('#nav2').removeClass('ui-btn-active');
			$('#nav3').removeClass('ui-btn-active');
			$('#nav1').removeClass('ui-btn-active');
		}
	</script>

  </body>
</html>

其他方法:

1. $.mobile.changePage ('../path/to/page.html');
2. $.mobile.changePage ('other/page.html', 'fade', false, false);
可以设定页面切换效果,以及定义参数来控制页面是否记录历史等
3.var pageData = { url: formresults.php, type: 'get', data:
$('form#myform').serialize () };
$.mobile.changePage (pageData);
将页面url,类型,数据定义为变量来传递。4.
var previousPage = $.mobile.activePage.data ('ui.prevPage');
$.mobile.changePage ([previousPage, anotherPreviousPage], 'pop');
使用changepage来加载第三个页面
5.$.mobile.pageLoading ();  /显示加载信息
$.mobile.pageLoading (true); //隐藏
pageLoading(boolean done)
函数显示或隐藏页面加载的提示信息。可以在$.mobile.loadingMessage变量中设置。
6 .$.mobile.silentScroll (100);
silentScroll (number yPos): 在Y轴上(默认为0)滚动页面而不需要触发scroll事件

OK,到此结束了,欢迎大家关注我的个人博客。

如有不懂,请大家加入qq群:135430763共同学习!

时间: 2024-08-04 08:53:10

jQuery Mobile页面跳转切换的几种方式的相关文章

jquery mobile 页面跳转不能刷新

问题描述 jquery mobile 页面跳转不能刷新 A页面form表单设置data-Ajax=false,跳转B页面后, 如果b页面不加载添加jquery mobile的js就可以刷新页面, 如果添加了jquery mobile的js再刷新页面form提交的数据就会丢失,求解 解决方案 Jquery Mobile的跳转jquery mobile 页面跳转 data-idjQuery Mobile动态刷新页面样式 解决方案二: jquery不就可以跳吗?

jquery mobile页面跳转的问题

问题描述 jquery mobile页面跳转的问题 在listview中加入的链接,跳转后前一页面函数都还能调用这是什么原理?难道jquery mobile 把跳转页面都看做是同一页面的?

方法-jquery mobile页面跳转的问题

问题描述 jquery mobile页面跳转的问题 我在jquery mobile中 页面跳转了 但是为什么页面的url没有发生改变 我是采用的response.Redirect()方法 ,按理说是没问题的,是不是jQuery mobile中一些属性影响了 ,本人小菜 求指导 解决方案 触发该重定向的form或者超链接a中设置data-ajax="false"

jQuery Mobile页面跳转后未加载外部JS

在使用jQuery Mobile进行Web开发中,当页面跳转时(pageA => pageB),在pageB中引用的JS并未成功运行.因为,JQM并为将整个页面加载到当前的dom中,仅将data-role="page"元素加入当前的dom中.因此,在<head>中引入的外部JS文件,以及<page>标签外的JS均不能正常运行,刷新页面后方可加载成功.   鉴于JQM这个特性不太可能主动更改,可以用两种方法来解决: 一是在index页面中,注册所有需要使用到

jQuery Mobile页面跳转后未加载外部JS原因分析及解决_jquery

在使用jQuery Mobile进行Web开发中,当页面跳转时(pageA => pageB),在pageB中引用的JS并未成功运行.因为,JQM并为将整个页面加载到当前的dom中,仅将data-role="page"元素加入当前的dom中. 因此,在<head>中引入的外部JS文件,以及<page>标签外的JS均不能正常运行,刷新页面后方可加载成功. 鉴于JQM这个特性不太可能主动更改,可以用两种方法来解决:一是在index页面中,注册所有需要使用到的外

JQuery Mobile 页面跳转后js不执行的问题(二)

问题描述:用JQM的tab组件,从主页跳转到该tab页面发现tab组件不能正常使用,只有刷新一次后才能正常的实现tab,这显然是蛋疼的! 解决方法:JQM是用Ajax来加载界面,有时候即使所有的js都写好了,但跳转之后还是不加载,即使按照http://blog.csdn.net/onepiecekapu/article/details/28172441的两个办法还是无法解决,这个时候需要在超链接<a>中加 data-ajax= false就可以了.

jquery mobile页面跳转后样式丢失js失效的解决方法_jquery

用ajax跳转的时候,从a.html跳转到b.html后,b.html的css以及js都失效了. 方法: 将当前页面b.html需要用到的css以及js放在<page>div内. 原理: 由于jqm的ajax跳转的时候,只会把b.html中<page>内的内容加载进dom,而<page>外的代码都不会加载,所以导致在<page>外的js和css都失效了.

jquery 读取页面load get post ajax 四种方式代码写法_jquery

load 复制代码 代码如下: $("#result").load("aaaa.asp #ccc"); get 复制代码 代码如下: $.get("aaaa.asp", { action:"get",name:"lulu" }, function(data, textStatus){ $("#result").html(data); //alert(this); //alert(data

js页面跳转常用的几种方式_javascript技巧

第一种: 复制代码 代码如下: <script language="javascript" type="text/javascript"> window.location.href="jb51.jsp?backurl="+window.location.href; </script> 第二种: 复制代码 代码如下: <script language="javascript"> alert(&