作为一款真正有使用价值的应用,首先应该至少有两个页面,通过页面的切换来实现更多的交互。比如手机人人网,打开以后先是进入登录页面,登录后会有新鲜事,然后拉开左边的面板,能看到相册、悄悄话、应用之类的其他内容。

在jQuery Mobile中页面的切换是通过链接来实现的,这点跟HTML完全一样。有所不同的是,jQuery Mobile为了使开发者能够创造出能好的交互性,提供了10种不同的切换效果。下面来看一个例子:

【范例4-4  jQuery Mobile中的场景切换】

  1. <!DOCTYPE>
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <meta name="viewport" content="width=device-width,initial-scale=2">
  6. <title>页面间的切换</title>
  7. <link rel="stylesheet" href="jquery.mobile-1.0.min.css" />
  8. <script src="jquery-1.7.1.min.js"></script>
  9. <script src="jquery.mobile-1.1.1.min.js"></script>
  10. <!--<script type="text/javascript" src="cordova.js"></script>-->
  11. </head>
  12. <body>
  13. <div data-role="page">
  14. <!—使用默认切换方式,效果为渐显-->
  15. <a href="demo.html" data-role=”button”>页面间的切换</a>
  16. <!-- data-transition="fade" 定义切换方式渐显-->
  17. <a data-role=”button” href="demo.html" data-transition="fade" data-direction="reverse">fade</a>
  18. <!-- data-transition="pop" 定义切换方式扩散-->
  19. <a data-role=”button” href="demo.html" data-transition="pop" data-direction="reverse">pop</a>
  20. <!-- data-transition="flip" 定义切换方式展开-->
  21. <a data-role=”button” href="demo.html" data-transition="flip" data-direction="reverse">flip</a>
  22. <!-- data-transition="turn" 定义切换方式翻转覆盖-->
  23. <a data-role=”button” href="demo.html" data-transition="turn" data-direction="reverse">turn</a>
  24. <!-- data-transition="flow" 定义切换方式扩散覆盖-->
  25. <a data-role=”button” href="demo.html" data-transition="flow" data-direction="reverse">flow</a>
  26. <!-- data-transition="slidefade" 定义切换方式滑动渐显-->
  27. <a data-role=”button” href="demo.html" data-transition="slidefade" >slidefade</a>
  28. <!-- data-transition="slide" 定义切换方式滑动-->
  29. <a data-role=”button” href="demo.html" data-transition="slide" data-direction="reverse">slide</a>
  30. <!-- data-transition="slidedown" 定义切换方式向下滑动-->
  31. <a data-role=”button” href="demo.html" data-transition="slidedown" >slidedown</a>
  32. <!-- data-transition="slideup"  定义切换方式向上滑动-->
  33. <a data-role=”button” href="demo.html" data-transition="slideup" >slideup</a>
  34. <!-- data-transition="none"  定义切换方式“无”-->
  35. <a data-role=”button” href="demo.html" data-transition="none" data-direction="reverse">none</a>
  36. </div>
  37. </body>
  38. </html>

除此之外,还需要另外一个页面demo.html:

  1. <!DOCTYPE>
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <meta name="viewport" content="width=device-width,initial-scale=2">
  6. <title>无标题文档</title>
  7. <link rel="stylesheet" href="jquery.mobile-1.0.min.css" />
  8. <script src="jquery-1.7.1.min.js"></script>
  9. <script src="jquery.mobile-1.1.1.min.js"></script>
  10. <!--<script type="text/javascript" src="cordova.js"></script>-->
  11. </head>
  12. <body>
  13. <div data-role="page">
  14. <h1>快到我碗里来</h1>
  15. </div>
  16. </body>
  17. </html>

运行效果如图4-4、图4-5所示。

 

图4-4                                                 图4-5

上例中第14~24行实际上在做同一件事情,即实现从index.html页面到demo.html页面的切换。在这里特别对这10种切换效果做一个简短的说明:

<a href="demo.html" data-role=”button”>页面间的切换</a>

可以清楚的看到demo.html页面有一个渐显的动画效果。

<a data-role=”button” href="demo.html"data-transition="fade" data-direction="reverse" >fade</a>

运行后发现与不加入data-transition属性的效果相同,也就是说,在jQuery Mobile中,将会默认给转场加入渐显渐隐的动画效果。

<a data-role=”button” href="demo.html"data-transition="pop" data-direction="reverse" >pop</a>

demo页面在原页面的中央部分渐渐变大最终覆盖整个页面。

<a data-role=”button” href="demo.html"data-transition="flip" data-direction="reverse" >flip</a>

demo页面在原页面中央最初以一个竖条的方式出现,先向两端扩张,当放大到正常页面比例后渐渐变大,直至覆盖整个页面。

<a data-role=”button” href="demo.html"data-transition="turn" data-direction="reverse" >turn</a>

demo页面在原页面中央最初以一个竖条的方式出现纵向进行翻转后放大到覆盖整个页面。

<a data-role=”button” href="demo.html"data-transition="flow" data-direction="reverse" >flow</a>

demo页面在原页面中央部分渐渐变大并逐渐覆盖整个页面,同时可以看见原页面逐渐缩小直至完全被triansitions2覆盖。

<a data-role=”button” href="demo.html"data-transition="slidefade" data-direction="reverse" >slidefade</a>

demo页面在原页面右侧出现,移动至中心,并在这一过程中渐显。

<a data-role=”button” href="demo.html"data-transition="slide"  data-direction="reverse">slide</a>

demo页面在原页面右侧出现,移动至中心。

<a data-role=”button” href="demo.html"data-transition="slideup" data-direction="reverse" >slideup</a>

demo页面在原页面下方出现,并向上移动至中心。

<a data-role=”button” href="demo.html"data-transition="slidedown" data-direction="reverse" >slidedown</a>

demo页面在原页面上方出现,并向下移动到中心。

<a data-role=”button” href="demo.html"data-transition="none" data-direction="reverse" >none</a>

没有任何效果。

    注意:在以上的10种动画中,除了fade与none两种效果是所有浏览器均支持的,其他8种效果的实现均需要依赖于设备浏览器具有3D支持。因此,对于android 2.Xs设备来说,许多效果是无效的,这时系统会默认将切换效果转换为渐显。还有一些设备虽然能够实现这些效果,但由于硬件本身限制,在实现这些效果时会在结束时产生卡顿以及页面闪烁的问题。因此开发者在使用这些效果时要特别谨慎,好在随着技术的提高,不兼容这些效果的设备最终会退出我们的视野,这对开发者来说是一个好消息。

在jQuery Mobile的官方文档中给出了一种应对不兼容情况的方法,即在CSS文件中加入这样一句代码,经笔者实验,确实能够在一定程度上,解决切换时的屏闪问题。

.ui-page {-webkit-backface-visibility: hidden; }

但是要想真正从根本上解决页面切换时闪屏的问题,还只能依靠硬件的发展,笔者一直坚信这一天很快就会到来。

jQueryMobile可用度越来越高,入门门槛低,可以少写代码来生成移动设备友好的界面。《构建跨平台APP:jQuery Mobile移动应用实战》这本书采用实例驱动的方式介绍jQueryMobile下的APP开发,全书提供70余个实战案例教会读者进行移动开发,最后还通过6个小型项目来复习和巩固所学知识点。

转载于:https://www.cnblogs.com/aspnet008/p/3875625.html

小白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》连载四(场景切换)...相关推荐

  1. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载一(PhoneGap中的API)...

    之前本博连载过<构建跨平台APP:jQuery Mobile移动应用实战>一书,深受移动开发入门人员的喜爱. 从现在开始,连载它的孪生姐妹书phoneGap移动应用实战一书,希望曾经是小白 ...

  2. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载四(使用程序载入事件)...

    在了解了PhoneGap中都有哪些事件之后,本节将開始对这些事件的使用方法进行具体地介绍.本节要介绍的是程序载入事件,也就是deviceready.pause和resume这3个事件. [范例4-2 ...

  3. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载三(通过实例来体验生命周期)

    4.1.2  通过实例来亲身体验Activity的生命周期 上一小节介绍了Activity生命周期中的各个过程,本小节将以一个简单的实例来使读者亲身体验到Activity生命周期中的各个事件. 在Ec ...

  4. 小白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》连载结束

    感谢各位亲们的大力支持,小白学jquery Mobile<构建跨平台APP:jQuery Mobile移动应用实战>连载已经结束了. 有兴趣的读者能够看我的博客,也能够看以下的链接逐个学习 ...

  5. 《构建跨平台APP:jQuery Mobile移动应用实战》

    http://product.dangdang.com/23472199.html http://item.jd.com/1159658668.html <构建跨平台APP:jQuery Mob ...

  6. 《构建跨平台APP:jQuery Mobile移动应用实战》连载三(整蛊小游戏)

    笔者当年还是一枚小白的时候,经常被QQ控件或各种论坛上的某个比较吸引人的标题所吸引,点开之后却发现网页中弹出了一个对话框,必须要不断地点击烦人的按钮无数次才能关闭这个页面.当时也曾经在网上搜索过相应的 ...

  7. 视频教程-跨平台APP JQuery Mobile开发-jQuery

    跨平台APP JQuery Mobile开发 主要研究方向为J2EE..net .数据库 .前端.Android,曾经服务过大型上市国企IT部门,软件企业联合创始人,对软件研发管理.市场营销有自己独特 ...

  8. 跨平台APP JQuery Mobile开发-张晨光-专题视频课程

    跨平台APP JQuery Mobile开发-1170人已学习 课程介绍         jQuery Mobile 是创建移动 web 应用程序的框架: 适用于所有流行的智能手机和平板电脑,使用 H ...

  9. 小白学 Python 爬虫:自动化测试框架 Selenium 从入门到实战

    引言 前面连续几篇爬虫实战不知道各位同学玩的怎么样,小编是要继续更新了,本篇我们来介绍一个前面已将安装过的工具: Selenium ,如果说是叫爬虫工具其实并不合适,在业界很多时候是拿来做自动化测试的 ...

最新文章

  1. 常见存储过程分页PK赛——简单测试分析常见存储过程分页速度
  2. Object类-try-catch-finally-throw-throws-自定义异常
  3. 远程定位gps linux,GPS(NMEA)数据解析
  4. [javascript] Date 时间精确到天
  5. 8分钟答辩稿_5分钟学会8个答辩小套路,教资面试没在怕的啦!
  6. 每日一测4(装箱与拆箱)
  7. linux tcp 多路复用,linux下 C++ 使用 epoll 多路复用 实现高性能的tcpserver
  8. 剑指offer:二叉树打印成多行(层次遍历)
  9. spark mlib入门
  10. 车企Tier1的日子不好过
  11. java web象棋教程_【Java学习笔记】实战——网络象棋
  12. esp8266+arduino+网页配网+温湿度上传+温度控制开关+eeprom永久保存+微信小程序控制
  13. die_visual
  14. 监控硬盘与计算机硬盘区别,视频存储烦恼 监控硬盘和普通硬盘区别
  15. c语言平时成绩占总分多少,C语言考试分析2009--2010第一学期).doc
  16. CSS text-align:justify作用
  17. 网刻(批量部署瘦客户端)
  18. 【网络工程零基础】小白零基础,详细教程一看就能学会
  19. mp3转换wav文件_如何将WAV文件转换为MP3
  20. 详细答案2013百度校园招聘笔试题

热门文章

  1. mysql数据库应用的权限层级_MySQL数据库的用户权限管理
  2. 计算机图形学试题a卷,计算机图形学复习题及答案
  3. CSDN 编程挑战——《coder的计算器》
  4. C++控制向文件中写入浮点数的格式
  5. 《MySQL——分区表小记》
  6. 物联网基础知识_联网| 基础知识能力问答 套装1
  7. kotlin 判断数字_Kotlin程序检查给定数字是正数,负数还是零
  8. 在JavaScript中使用示例继续语句
  9. flutter生成源代码_Flutter创建工程的主要代码详解
  10. 乘法口诀表的C语言编程