《jQuery、jQuery UI及jQuery Mobile技巧与示例》——9.8 技巧:指定自定义的过渡动画

简介: 假使需要不同的动画,而不是在前面的示例中提供的默认动画集,你可以引进自定义的动画。你可以使用CSS3变换(CSS3 transition)来创建平滑的硬件加速动画,包含2D和3D。

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

9.8 技巧:指定自定义的过渡动画

假使需要不同的动画,而不是在前面的示例中提供的默认动画集,你可以引进自定义的动画。你可以使用CSS3变换(CSS3 transition)来创建平滑的硬件加速动画,包含2D和3D。

代码清单9-9提供了一个示例动画:打开新页面时旋转页面。

代码清单9-9 使用自定义CSS3变换来切换页面

00 <!DOCTYPE html> 
01 <html> 
02 <head> 
03  <title>Custom Transition</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  <style>
09    .mine.in {
10      -webkit-animation-name: myslidein;
11    }
12 
13    .mine.out {
14      -webkit-animation-name: myslideout;
15    }
16 
17    @-webkit-keyframes myslidein {
18      from { -webkit-transform:  rotateZ(0deg) scale(0);}
19      to { -webkit-transform:  rotateZ(360deg) scale(1); }
20    }
21    @-webkit-keyframes myslideout {
22      from { -webkit-transform: rotateZ(360deg) scale(1); }
23      to { -webkit-transform: rotateZ(0deg) scale(0); }
24    }
25  </style>
26  <script type="text/javascript"
27    src="http://code.jquery.com/jquery-1.7.1.min.js">
28  </script>
29  <script type="text/javascript" src=
30    "http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js">
31  </script>
32 </head> 
33 <body> 
34 
35 <div data-role="page">
36 
37  <div data-role="header">
38   <h1>First</h1>
39  </div>
40 
41  <div data-role="content"> 
42  
43   <p>Hello world <a href="#second" data-transition="mine">and go
44     to the second</a></p>  
45    
46  </div>
47  
48 </div>
49 
50 <div data-role="page" id="second">
51 
52  <div data-role="header">
53   <h1>Second</h1>
54  </div>
55 <div data-role="content">
56   Hello again!
57 </div>
58 
59 </div>
60 
61 </body>
62 </html>

在代码清单9-9中,仍然看不到一丁点儿自定义的JavaScript代码。可以看到,第43行有个data-transition属性,引用了一个自定义值,即mine。当需要过渡动画时,jQuery Mobile会使用这个值来添加class属性。

在第9~15行的CSS声明中,你发现有两个定义,即mine类和in类的组合使用以及mine类out类的组合使用。两者的CSS实现引用了第17~24行指定的CSS3动画。

在第17~24行,你发现CSS声明在变换过程中会使页面发生旋转。使用-webkit-前缀,这些动画就只能在iOS、Safari以及Chrome上工作。为使这些动画能在其他浏览器上工作,可以添加–moz-、-ms-,或者当未来某个时候标准发展完备时,可以省去前缀。这里准备的示例针对的是iPhone和iPad。

如果你正在使用jQuery Mobile并且使用的浏览器不支持3D变换,则会退回到简单的渐变变换(fade transition)。你也可以选择覆盖默认行为,将某些变换改为别的行为。可以更改全局配置来做到这一点,比如:

$.mobile.transitionFallbacks.slideout = "none";
另一种可能希望覆盖页面变换的情况是:大屏幕上的效果可能是断断续续的。可以通过设置 maxTransitionWidth 值来改变这种情况,如下所示:

$.mobile.maxTransitionWidth = 640;
当设备的屏幕宽度大于640时,这会把变换设置为none。

相关文章
|
11月前
「Mac畅玩鸿蒙与硬件46」UI互动应用篇23 - 自定义天气预报组件
本篇将带你实现一个自定义天气预报组件。用户可以通过选择不同城市来获取相应的天气信息,页面会显示当前城市的天气图标、温度及天气描述。这一功能适合用于动态展示天气信息的小型应用。
477 38
「Mac畅玩鸿蒙与硬件46」UI互动应用篇23 - 自定义天气预报组件
|
8月前
|
JavaScript 内存技术
支持多种动画特效的响应式jQuery幻灯片插件
支持多种动画特效的响应式jQuery幻灯片插件
|
10月前
jQuery+CSS3实现404背景游戏动画源码
jQuery+CSS3实现404背景游戏动画源码
156 22
|
JavaScript 前端开发 UED
jQuery 动画
【10月更文挑战第8天】
178 55
|
12月前
|
UED
「Mac畅玩鸿蒙与硬件31」UI互动应用篇8 - 自定义评分星级组件
本篇将带你实现一个自定义评分星级组件,用户可以通过点击星星进行评分,并实时显示评分结果。为了让界面更具吸引力,我们还将添加一只小猫图片作为评分的背景装饰。
273 6
「Mac畅玩鸿蒙与硬件31」UI互动应用篇8 - 自定义评分星级组件
|
12月前
|
前端开发 开发者
「Mac畅玩鸿蒙与硬件23」鸿蒙UI组件篇13 - 自定义组件的创建与使用
自定义组件可以帮助开发者实现复用性强、逻辑清晰的界面模块。通过自定义组件,鸿蒙应用能够提高代码的可维护性,并简化复杂布局的构建。本篇将介绍如何创建自定义组件,如何向组件传递数据,以及如何在不同页面间复用这些组件。
282 5
「Mac畅玩鸿蒙与硬件23」鸿蒙UI组件篇13 - 自定义组件的创建与使用
|
11月前
|
JavaScript
jquery文字动画特效插件animatext
jquery文字动画特效插件animatext
272 9
|
API UED 容器
深入探索 Element UI:自定义滚动条与弹出层管理的技巧
在这篇博客中,我们将深入探讨 Element UI 中的自定义滚动条及弹出层管理技巧。文章详细介绍了 el-scrollbar 组件的使用和参数设置,以及 PopupManager 如何有效管理弹出层的 z-index。我们还将探讨如何实现灵活的全屏组件,利用 vue-popper 创建自定义弹出层,最后介绍 ClickOutside 指令的用法。这些高级技巧将帮助你提升 Element UI 应用程序的用户体验与交互灵活性。
1289 1
深入探索 Element UI:自定义滚动条与弹出层管理的技巧
|
12月前
jQuery+CSS3模拟过山车动态的文字动画特效源码
jQuery+CSS3模拟过山车动态的文字动画特效源码实现在全黑的背景下,画面中的文本呈现过山车的轨迹动画上下滚动转圈,且伴随文本颜色渐变效果,非常有意思,欢迎对此特效感兴趣的朋友前来下载参考。
143 1
|
11月前
|
JavaScript 前端开发
jquery输入框键入文字动画特效
这是一款炫酷的jquery输入框键入文字动画特效。该文字特效在用户键入字母时,通过jquery代码来制作文字的动画效果,非常炫酷。
111 0

相关课程

更多