本文详细总结了html5各种页面切换效果和模态对话框用法。分享给大家供大家参考。具体分析如下:
2 u# {6 E- |, v, j/ r, k页面动画:4 l, B# \' a! R) `: ]
data-transition 属性可以定义页面切换是的动画效果。/ j" {% o2 j" L: L* Z1 @
例如:<a href=index.html data-transition=pop>i'll pop</a>! P8 [ y$ w: C4 G$ T; [
data-transition 参数表:) w3 E: y u: m% d
参数说明
7 k4 R! G8 u. M% C/ Q& \: Aslide 从右侧向左滑入页面
8 f* m2 |8 R0 E- j$ Mslideup 从底部向上滑入
' \0 o. H. |$ M P! ~slidedown 从上向下滑入
/ W4 k/ E$ v# [" t! s- b. U' }pop 从中心渐显展开6 |2 _0 U }8 G9 J8 ]& s" B
fade 渐显% I! M8 O: e4 M$ F8 r$ z
flip 翻转
. `5 g7 l+ p- X4 z% _- K% o# I备注:如果想要在目标页面中显示后退按钮,可以在链接中加入 data-direction=reverse属性,这个属性和原来的 data-back=true相同,不知道在正式版本中将会保留哪个属性。9 I" M. f9 C. W7 m, `# M
模态对话框
( {) ]7 Y# l7 h! i% z模态对话框是一种带有圆角标题栏和关闭按钮的伪浮动层,用于独占事件的应用。任何结构化的页面都可以用 data-rel=dialog链接的方式实现模态对话框应用。
' } j( ]: G3 A: n: K4 L+ r( A例如:<a href=foo.html data-rel=dialog>open dialog</a>" `7 _* X5 p9 u' M2 ~* v
这个页面切换效果同样可以使用标准页面的 data-transition 参数效果。建议使用pop、slideup 和flip参数以达到更好的效果。8 E: ?: B' k" d) L- ]8 e
这个模态对话框会默认生成关闭按钮,用于回到父级页面。在脚本能力较弱的设备上也可以添加一个带有 data-rel=back的链接来实现关闭按钮。, F0 o0 [+ A) Z3 g
针对支持脚本的设备可以直接使用 href=”#”或者 data-rel=back来实现关闭。还可以使用内置的”close”方法来关闭模态对话框,例如:$('.ui-dialog').dialog('close')。
( w& e) j P& D/ G由于模态对话框是动态显示的临时页面,所以这个页面不会被保存在哈希表内,这就意味着我们讲无法后退到这个页面,例如你在 a 页面中点击一个链接打开 b 对话框,操作完成并关闭对话框,然后跳转到 c 页面,这时候你点击浏览器的后退按钮,这时候将回到 a 页面,而不是 b 页面。- K9 i4 j4 c$ `$ ~' O
工具条$ S/ u* l$ e: X
工具条主要用于”header”,”footer”等区域,用来支撑和实现页面中业务功能的应用。jquery mobile 提供了一个相对完整的解决方案。
0 t {- F: }( P工具条分为:标题(header bar),页脚(footer bar)和导航(nav bar)这三中应用。
: [: S3 s2 A% z( @其中标题和页脚在页面中有一些不同的应用方式,默认工具条是以嵌入(inline)的方式定位的,这种定位方式可以实现最大限度的兼容性,包括在对脚本和 css 兼容性不佳的设备都有很好的优化。
( Z8 D- T, M" S+ T- U, g另一种是浮动(fixed)定位的方式,也可以成为“静态“定位,这种定位方式可以让工具条始终保持在屏幕的顶部或者底部。并可以接受点击事件来显示/隐藏工具条,已达到最大化利用屏幕空间的目的。
* b: J2 s" J( A/ B2 n( H1 ?实现方式:在标题和页脚区域加入 data-position=fixed属性。
4 Y. k) @% k+ ^! n% o. |$ u标题容器
3 z5 S' f/ m0 \2 X' V6 j标题容器是页面页眉区域的显示控件,主要用来显示标题和主要操作的区域。
3 K& b7 e9 E9 r p7 W5 ~& U* B结构代码:
% J/ ~* g5 E5 {代码如下:
4 a1 Z" ]! k$ [5 c6 _1 Z<div data-role=header>
, N' |* c; m* Y+ y<h1>page title</h1>) ~% f5 J$ x1 W: e1 f( v: m# E
</div>
! a0 ~( l& C& b" K0 A为了方便页面的交互在页面切换后会在标题容器的左侧自动生成一个后退按钮,这样可以简化我们的开发复杂程度,但是有些时候我们会因为应用的需求而不需要这个后退按钮,可以在标题容器上添加 data-backbtn=false属性用来阻止后退按钮的自动创建。+ [( F* A' b I" L N
标题容器的左侧和右侧分别可以放置一个按钮,在阻止自动生成的后退按钮后,我们就可以在后退按钮的位置来自定义按钮了。
$ L& M, ^/ c' F1 q例如:) S- R/ x' [1 a
代码如下:
/ o' k& V6 W8 R8 A' ~<div data-role=header data-position=inline data-backbtn=false >6 l1 H% C8 J6 U4 i) A. t8 N
<a href=index.html data-icon=delete>cancel</a>% v {5 o" o6 s( N# z
<h1>edit contact</h1>
: r7 {6 [& m. J! a6 n6 w( U7 Q<a href=index.html data-icon=check>save</a>
. r+ t8 `' ^/ U8 _0 G/ f% Y</div>
) P$ m3 q7 z( D d j! f) n. P如果需要自定义默认的后退按钮中的文本,可以用data-back-btn-text=previous属性来实现,或者通过扩展的方式实现:
2 H0 E' {7 _- J8 U 代码如下:
. p% j2 X6 X R4 B/ b6 i$.mobile.page.prototype.options.backbtntext = previous% H1 G0 P3 o( g* M* f
如果你没有使用标准的结构来创建标题区域,那么框架将不会自动生成默认的按钮。
: f% J9 \* G0 {& f& R页脚容器
- W4 O, n4 E+ G页脚容器的结构和标题容器的结构基本相同,只要把 data-role 属性的参数设置为”footer”。' C6 y3 E0 [# h m/ R: r5 ]! K
例如:
9 V, {9 o* V W+ J- o0 I! X- B代码如下:
* `, [* r2 {8 r9 J<div data-role=footer>
6 ]6 v( g6 u1 B0 @, x$ W<h4>footer content</h4>
* \' u3 n9 f: u* l' {2 C8 I</div>. S7 Y1 p: W. G0 w7 g
与标题容器相比页脚容器有, Z# A- [* z2 A% _9 C) o9 N
更多网页制作信息请查看: 网页制作 |
|