如何加快页面过渡动画?

时间:2012-04-11 13:48:36

标签: jquery jquery-mobile cordova

我使用jQuery Mobile和Phonegap为我的iphone做了一个简单的应用程序。它工作得很好,但应用程序使用以下过渡到另一个页面,这很慢,地狱:

<a data-role="button" id="about_link" data-transition="slide" 
     href="#page3" data-icon="gear" data-iconpos="left">
     Settings
</a>

只是一个简单的a正在这里发挥魔力,导致奇怪的400毫秒滞后等......

经过大量阅读后,我将a按钮设为div,并自行处理了点击事件,使按钮更快。

$("#about_link").live("touchstart", function(){
    slideTo('#page3',false);
});
function slideTo(page,reverse){
    $.mobile.changePage( page, {
        transition: "slide",
        reverse: reverse
    } );
}

差异很大,但对我来说仍然太慢了。看起来jQuery Mobile在转到另一页之前等待整个按钮动画(悬停和点击)完成。

现在我的问题:

  1. touchstart是最快的方式吗?我使用了其他库,如fastclick,但这也不是超快。
  2. 这里的按钮动画是不是很糟糕?我可以禁用它吗?
  3. 你们能给我一些提示吗?谷歌不是我这个特殊问题的朋友......
  4. 的Gr。

2 个答案:

答案 0 :(得分:34)

实际上是在jquery mobile的css中:

.in, .out {
    -webkit-animation-timing-function: ease-in-out;
    -webkit-animation-duration: 350ms !important;
}

只需调整ms即可,你很好。

答案 1 :(得分:4)

您应该进行自定义转换。比黑客攻击CSS更清洁。

http://jquerymobile.com/test/docs/pages/page-customtransitions.html