《jQuery、jQuery UI及jQuery Mobile技巧与示例》——9.5 技巧:显示页面正在加载的信息...

    xiaoxiao2024-05-06  73

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

    9.5 技巧:显示页面正在加载的信息

    当与之通信的服务器响应很慢,或者很有可能是在移动设备上连接速度很慢时,如果在一张包含了jQuery Mobile的页面中点击链接,通常会看到页面正在加载的信息。

    这些提示信息除了用于链接点击外,还能用于其他的目的(比如,当你使用自己编写的JavaScript代码通过AJAX与服务器通信或者代码本身有巨大的计算量的时候)。代码清单9-6演示了如何显示页面正在加载的信息。

    代码清单9-6 打开、关闭加载信息

    00 <!DOCTYPE html> 01 <html> 02 <head> 03  <title>Loading Messages</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    $('#show').on('click', function() { 17     $.mobile.showPageLoadingMsg(); 18    }); 19    $('#hide').on('click', function() { 20     $.mobile.hidePageLoadingMsg(); 21    }); 22  }); 23  </script> 24 </head> 25 <body> 26 27 <div data-role="page"> 28 29  <div data-role="header"> 30     <h1>Show/Hide Loading Message</h1> 31  </div> 32 33  <div data-role="content">  34   <a href="#" id="show" data-role="button">Show Loading 35     Message</a> 36   <a href="#" id="hide" data-role="button">Hide Loading 37     Message</a> 38  </div> 39  40 </div> 41 42 </body> 43 </html>

    第34~37行提供了两个按钮,用来打开和关闭加载信息。这些按钮的功能依赖于自定义的JavaScript代码。尽管绝大多数jQuery Mobile代码不需要编写自定义的JavaScript,但还是有些例外。第17行和第20行用来显示和关闭加载信息。按下这些按钮,你会察觉到实际要完成的工作与加载信息之间实际上没有什么关系。

    尽管在任何时间都可以打开和关闭加载信息,但还是在真正运行后台任务或加载页面资源时,才应该有所保留地使用它。

    请注意$(document).ready(function() {})只执行一次:在初次加载HTML的时候。一旦使用AJAX加载新的页面,该事件将不会被再次触发。如果你想代码在每张页面上都会被执行,需要调用$(document).on('pageinit', function() {})。

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)