这个来自 jQuery 的页面转换示例适用于 Chrome http://jquerymobile.com/demos/1.0a4.1/docs/pages/#docs-transitions.html
但是当我用这段代码自己尝试时,它总是使用淡入淡出效果。在 Firefox 中它确实有效。使用 phonegap 构建它时,它在 iOS 上不起作用,在 Android 上也不起作用。
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="js/jquery/jqueryMobile/jquery.mobile-1.2.0.css" />
<script src="js/jquery/jquery-1.8.2.js"></script>
<script src="js/jquery/jqueryMobile/jquery.mobile-1.2.0.js"></script>
</head>
<body id="body">
<div id="page1" data-role="page">
<a id="my_link" href="#page2" data-role="button" data-transition="slide">
click me
</a>
</div>
<div id="page2" data-role="page">
<div>
page2
</div>
</div>
</body>
我查看了 jquery mobile javascript 文件,发现它在 changepage 函数中名为 $.mobile._maybeDegradeTransition。此函数检查浏览器是否支持 csstransform3d。Chrome 对此返回 false。当我将代码更改为始终返回 true 时,Chrome 只会进行转换。