zoukankan      html  css  js  c++  java
  • 白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》串行4(场景变化)

         作为一个真正的利用价格值应用,首先,你应该至少有两页,通过切换页面来实现很多其他互动。比如手机人人网,首先,打开后进入登录页面,将有登录后,新的东西。然后拉左侧面板。你可以看到相册、私人信息、像其他应用程序。

    在jQuery Mobile中页面的切换是通过链接来实现的,这点跟HTML全然一样。

    有所不同的是,jQuery Mobile为了使开发人员可以创造出能好的交互性。提供了10种不同的切换效果。

    以下来看一个样例:

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

    <!DOCTYPE>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width,initial-scale=2">
    <title>页面间的切换</title>
    <link rel="stylesheet" href="jquery.mobile-1.0.min.css" />
    <script src="jquery-1.7.1.min.js"></script>
    <script src="jquery.mobile-1.1.1.min.js"></script> 
    <!--<script type="text/javascript" src="cordova.js"></script>-->
    </head>
    <body>
    	<div data-role="page">
    	    <!—使用默认切换方式,效果为渐显-->
     	    <a href="demo.html" data-role=”button”>页面间的切换</a>
    		<!-- data-transition="fade" 定义切换方式渐显-->
             <a data-role=”button” href="demo.html" data-transition="fade" data-direction="reverse">fade</a>
    		<!-- data-transition="pop" 定义切换方式扩散-->
        	    <a data-role=”button” href="demo.html" data-transition="pop" data-direction="reverse">pop</a>
    		<!-- data-transition="flip" 定义切换方式展开-->
    	    <a data-role=”button” href="demo.html" data-transition="flip" data-direction="reverse">flip</a>
    		<!-- data-transition="turn" 定义切换方式翻转覆盖-->
             <a data-role=”button” href="demo.html" data-transition="turn" data-direction="reverse">turn</a>
    		<!-- data-transition="flow" 定义切换方式扩散覆盖-->
        	     <a data-role=”button” href="demo.html" data-transition="flow" data-direction="reverse">flow</a>
    		<!-- data-transition="slidefade" 定义切换方式滑动渐显-->
    		<a data-role=”button” href="demo.html" data-transition="slidefade" >slidefade</a>
    		<!-- data-transition="slide" 定义切换方式滑动-->
             <a data-role=”button” href="demo.html" data-transition="slide" data-direction="reverse">slide</a>
    		<!-- data-transition="slidedown" 定义切换方式向下滑动-->
    		<a data-role=”button” href="demo.html" data-transition="slidedown" >slidedown</a>
    		<!-- data-transition="slideup"  定义切换方式向上滑动-->
    	    <a data-role=”button” href="demo.html" data-transition="slideup" >slideup</a>
    		<!-- data-transition="none"  定义切换方式“无”-->
    	    <a data-role=”button” href="demo.html" data-transition="none" data-direction="reverse">none</a>
        </div>
    </body>
    </html>
    

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

    <!DOCTYPE>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width,initial-scale=2">
    <title>无标题文档</title>
    <link rel="stylesheet" href="jquery.mobile-1.0.min.css" />
    <script src="jquery-1.7.1.min.js"></script>
    <script src="jquery.mobile-1.1.1.min.js"></script> 
    <!--<script type="text/javascript" src="cordova.js"></script>-->
    </head>
    <body>
    	<div data-role="page">
        	   <h1>快到我碗里来</h1>
        </div>
    </body>
    </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个小型项目来复习和巩固所学知识点。




  • 相关阅读:
    cart树剪枝
    LSA、LDA
    paddle中新增layer
    https://www.i5seo.com/
    打印机彩色打印设置(将彩色打印为黑色)
    办公文档的标准格式
    电脑常用的5个按键
    Win7各个版本之间的区别
    win7保护眼睛的颜色设置方法(85,125,205)
    详细教您台式电脑如何组装
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5029721.html
Copyright © 2011-2022 走看看