《jQuery、jQuery UI及jQuery Mobile技巧与示例》——9.19 技巧:利用JavaScript调用加载页面

简介: 为了能看到这种加载动作的结果,需要一种工具才行,比如Firefox中的Firebug或者别的浏览器中类似的开发者工具。点击按钮后,会触发这段代码,然后一张新的页面会出现在DOM树中。

本节书摘来自异步社区《jQuery、jQuery UI及jQuery Mobile技巧与示例》一书中的第9章,第9.19节,作者:【荷】Adriaan de Jonge , 【美】Phil Dutson著,更多章节内容可以访问云栖社区“异步社区”公众号查看

9.19 技巧:利用JavaScript调用加载页面

当变更至不同的页面时,在移动端的浏览器切换到新页面之前,首先会把页面加载到DOM里面。在链接上使用data-prefetch属性会使jQuery Mobile在用户点击链接前预加载页面。

在HTML中甚至不用链接也能完成类似的功能。代码清单9-23演示了如何使用JavaScript代码来提前获取数据。

代码清单9-23 通过JavaScript代码来加载页面

00 <!DOCTYPE html> 
01 <html> 
02 <head> 
03  <title>Load Page</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  <script>
15  $(document).ready(function() {
16   
17   $('#change').on('click', function(event) {
18     $.mobile.loadPage('43b-change-page.html',
19     {transition: 'fade'})
20     .done(function() {
21      alert('Done loading!');
22     });
23    });
24   
25  });
26  </script>
27 </head> 
28 <body> 
29 
30 <div data-role="page">
31 
32  <div data-role="header">
33   <h1>Load page</h1>
34  </div>
35 
36  <div data-role="content"> 
37   <a href="#" id="change" data-role="button">Change Page</a>
38  </div>
39 
40 </body>
41 </html>

为了能看到这种加载动作的结果,需要一种工具才行,比如Firefox中的Firebug或者别的浏览器中类似的开发者工具。点击按钮后,会触发这段代码,然后一张新的页面会出现在DOM树中。

第20~22行演示了loadPage函数是如何同promise1一起工作的。loadPage()方法设置了要加载的页面,然后使用transition选项设置页面视图以“淡入”的特效显现。

相关文章
|
9天前
|
JavaScript 前端开发 容器
AJAX载入外部JS文件到页面并让其执行的方法(附源码)
AJAX载入外部JS文件到页面并让其执行的方法(附源码)
13 0
|
28天前
|
JavaScript 前端开发 Java
springboot从控制器请求至页面时js失效的解决方法
springboot从控制器请求至页面时js失效的解决方法
15 0
springboot从控制器请求至页面时js失效的解决方法
|
1月前
|
开发框架 前端开发 JavaScript
使用JavaScript、jQuery和Bootstrap构建待办事项应用
使用JavaScript、jQuery和Bootstrap构建待办事项应用
11 0
|
1月前
|
JavaScript 前端开发 索引
JQuery样式操作、click事件以及索引值-选项卡应用示例
JQuery样式操作、click事件以及索引值-选项卡应用示例
20 1
|
1月前
|
Web App开发 前端开发 JavaScript
编程笔记 html5&css&js 004 我的第一个页面
编程笔记 html5&css&js 004 我的第一个页面
|
28天前
|
JavaScript 前端开发
springboot+layui从控制器请求至页面时js失效的解决方法
springboot+layui从控制器请求至页面时js失效的解决方法
15 0
|
3月前
|
JavaScript
如何用js在页面中添加元素?
如何用js在页面中添加元素?
26 0
|
17天前
|
JavaScript 前端开发
JS:如何创建新元素并添加到页面中
JS:如何创建新元素并添加到页面中
21 1
|
25天前
|
JavaScript
js开发:请解释什么是ES6的扩展运算符(spread operator),并给出一个示例。
ES6的扩展运算符(...)用于可迭代对象展开,如数组和对象。在数组中,它能将一个数组的元素合并到另一个数组。例如:`[1, 2, 3, 4, 5]`。在对象中,它用于复制并合并属性,如`{a: 1, b: 2, c: 3}`。
12 3
|
25天前
|
JavaScript
js开发:请解释什么是ES6的默认参数(default parameters),并给出一个示例。
ES6允许在函数参数中设置默认值,如`function greet(name = &#39;World&#39;) {...}`。当调用函数不传入`name`参数时,它将默认为&#39;World&#39;,提升代码简洁性和可读性。例如:`greet()`输出&quot;Hello, World!&quot;,`greet(&#39;Alice&#39;)`输出&quot;Hello, Alice!&quot;。
15 4