如何加快页面过渡动画?

Han*_*ink 15 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>
Run Code Online (Sandbox Code Playgroud)

只是一个简单a就是在这里做魔术,这导致奇怪的400ms滞后等...

现在经过大量的阅读后,我a按下了按钮div并自己处理了点击事件,使按钮更快.

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

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

现在我的问题:

  1. touchstart是最快的方式吗?我使用了像fastclick这样的其他库,但也不是那么快.
  2. 这个按钮动画是不是坏了?我可以禁用它吗?
  3. 你们能给我一些提示吗?谷歌不是我这个特殊问题的朋友......

克.

ste*_*eve 34

它实际上是在jquery mobile的css中:

.in, .out {
    -webkit-animation-timing-function: ease-in-out;
    -webkit-animation-duration: 350ms !important;
}
Run Code Online (Sandbox Code Playgroud)

只需调整ms,你就会很好.

  • 我必须使用!important来覆盖持续时间:-webkit-animation-duration:660ms!important; (7认同)
  • +1真棒,我即将张贴同样的东西! (2认同)