《jQuery、jQuery UI及jQuery Mobile技巧与示例》——9.2 技巧:用单个HTML文件服务多张页面

9.2 技巧:用单个HTML文件服务多张页面

可以在单个HTML文件中添加多张页面。这样的话,就不需要发送新的请求到服务器,所以接口就更具响应性了。除此之外,离线时仍旧可以导航页面。代码清单9-2演示了如何链接至第二张页面。

对于页面数量有限的情况,这会工作得很不错。然而,有时内存消耗会成为问题(取决于目标设备的规格)。稍后会讨论链接至外部页面。

代码清单9-2 导航到第二张页面

00 <!DOCTYPE html>
01 <html>
02 <head>
03  <title>Pages</title>
04  <meta name="viewport"
05    content="width=device-width, initial-scale=1">
06  <link rel="stylesheet" href=
07    "http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css">
08  <script type="text/javascript"
09    src="http://code.jquery.com/jquery-1.7.1.min.js">
10  </script>
11  <script type="text/javascript" src=
12    "http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js">
13  </script>
14 </head>
15 <body>
16
17 <div data-role="page">
18
19  <div data-role="header">
20   <h1>First</h1>
21  </div>
22
23  <div data-role="content"> 
24   <p>Hello world <a href="#second">and go to the second</a></p>  
25  </div>
26 
27  <!--
28  Either/or... the result is in the LINK, not the DIV
29
30  <div data-role="content"> 
31   <p>Or... <a href="#second" data-rel="dialog"
32   data-transition="pop">show the exact same page as a
33   dialog!</a></p>  
34  </div>
35   -->
36 </div>
37
38 <div data-role="page" id="second">
39
40  <div data-role="header">
41   <h1>Second</h1>
42  </div>
43 <div data-role="content">
44   Hello, again!
45 </div>
46
47 </div>
48
49 </body>
50 </html>

让我们从HTML的底部开始说起。第38~45行的div是第二张页面。它有自己的header和content。更为重要的是,div元素有一个id属性。

第23~25行是第一张页面的主体内容,里面有一个链接指向了第二张页面。在id属性前面放一个#把它变为一个哈希标记(hash-tag),这样就可以作为锚点被引用了。点击链接时,请注意观察移动浏览器的URL地址栏。你可以使用这个新的URL来建立该页面的书签(bookmark),当你点击该书签时就能直接打开第二张页面了。

最后,第27~35行是第23~25行的一种替代方案。它当前被注释标记禁用了。如果你用该内容替换第23~25行的内容,第二张页面会以对话框而不是新页面的方式打开。和你所看见的一样,是以普通页面还是以对话框的方式来打开页面是由链接指定的。

推荐你不要混合使用多种打开页面的方式。要么以页面的方式打开,要么以对话框的方式打开。在单个HTML文件中切换打开方式会导致意想不到的行为。

时间: 2024-09-18 04:25:37

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——9.2 技巧:用单个HTML文件服务多张页面的相关文章

JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)_javascript技巧

jQuery获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...});   //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#select_id").find("option:selected").text();  //获取Select选择的Text 3. var checkValue=$("#se

JS和Jquery获取和修改label的值的示例代码_javascript技巧

获取值: label标签在JS和Jquery中使用不能像其他标签一样用value获取它的值: 复制代码 代码如下: var label=document.getElementById("id"); var value=label.value; var value=$("#id").val(); 可以这样: JS: 复制代码 代码如下: var label=document.getElementById("id"); var value=label

asp.net使用jQuery获取RadioButtonList成员选中内容和值示例_实用技巧

复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Web.Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——第9章 使用jQuery Mobile来导航页面 9.1技巧:搭建jQuery Mobile基础页面

第9章 使用jQuery Mobile来导航页面 本章介绍jQuery Mobile的基础知识,讲述了使用该框架来搭建页面,导航至其他页面,使用AJAX请求加载内容,以及提供平滑的过渡动画.在页面中,有确定的基础元素(如header1.footer),它们的行为会根据指定的选项而有所不同.这里的"页面搭建,组合基础元素(如column).事件以及最少量的自定义JavaScript代码"是使用jQuery Mobile的基本要素. 9.1 技巧:搭建jQuery Mobile基础页面 j

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.6 技巧:使用对话框微件引起注意

7.6 技巧:使用对话框微件引起注意 如果想使网页中的一小部分内容脱颖而出,有几种方法可以实现它.其中一个方法是用对话框的形式显示内容.jQuery UI提供了这样一个对话框组件(dialog).代码清单7-6演示了如何从一个常见的段落元素创建对话框. 代码清单7-6 将段落元素转换为对话框 00 <!DOCTYPE html> 01 02 <html lang="en"> 03 <head> 04 <title>jQuery UI Di

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.8 技巧:使用滑块微件获取数字

7.8 技巧:使用滑块微件获取数字 在客户端应用程序中,你有时会发现滑块用做输入数字的元素.滑块的优点是,它比数字输入框更可视化和更直观. 代码清单7-8展示了如何将div改成滑块(slider)微件. 代码清单7-8 将 元素转换为滑块并显示其值 00 <!DOCTYPE html> 01 02 <html lang="en"> 03 <head> 04 <title>jQuery UI Slider</title> 05

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.5 技巧:使用日历微件选择日期

7.5 技巧:使用日历微件选择日期 在HTML5之前,在Web页面中选择日期是很痛苦的.甚至支持了HTML5的浏览器中仍有一些不能提供一个好用的日历. 代码清单7-5展示了jQuery UI提供的datepicker,它可以用于传统的输入框. 代码清单7-5 帮助网站用户输入日期 00 <!DOCTYPE html> 01 02 <html lang="en"> 03 <head> 04 <title>jQuery UI Datepick

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.2 技巧:使用自动补全微件提示输入值

7.2 技巧:使用自动补全微件提示输入值 在一些网站上,你可以找到用于选择的下拉菜单,它们包含了极长的选项列表.在许多情况下,可以使用具有自动补全功能的输入框取代下拉式菜单来帮助用户.省去了滚动选择,用户只要输入目标选项的第一个字符,然后自动补全组件便可以完成剩下的事. 代码清单7-2提供了一个自动补全的例子,它使用一段称为"Lorem Ipsum"的文字来实现输入第一个字后的补全.这段文字起源于两千年前,但仍然使用在图形设计和排版行业(通常被称为"假文"或&quo

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.7 技巧:使用进度条微件显示进程的状态

7.7 技巧:使用进度条微件显示进程的状态 当Web应用程序执行一个动作的持续时间超过大约两秒钟时,为用户显示动作状态是一个很好的做法.如果不知道动作的状态,通常会改变鼠标光标或显示一个旋转的效果. 在某些情况下,你能知道进程的进度.在这种情况下,最好尽可能准确地满足用户的期待.代码清单7-7介绍了jQuery UI的进度条(progressbar),可以使用它实现这样的目的. 代码清单7-7 将一个 元素转换为进度条 00 <!DOCTYPE html> 01 02 <html lan