Javascript动画滞后

时间:2014-04-05 12:28:24

标签: javascript jquery css

自从我2个月前开始研究网站开发以来,我遇到了类似的问题。 动画滞后。这是唯一的动画,有时它触发它的fps有点低。我不知道我做错了什么。

<script type="text/javascript">
    function showSidebar(){
        $("#sidebar").stop().show('slide',{easing:"easeOutQuart", direction:"left"}, 1000);
        $("#sidebar-ctn").delay(100).stop().show('slide',{easing:"easeOutQuart", direction:"left"}, 900);
    }
    function hideSidebar(){
        $("#sidebar").stop().hide('slide',{easing:"easeOutQuart",  direction:"left"}, 500);
        $("#sidebar-ctn").stop().hide('slide',{easing:"easeOutQuart",   direction:"left"}, 400);
    }
   </script>

我猜错了因为我没有经历过fps掉落(我不确定正确的术语,只是动画是否滞后)在其他网站上有这么多的动画像这个: http://sarasoueidan.com/demos/windows8-animations/

更新: 所以我发现了导致它的原因,它是我拥有的按钮数量。 这是它的样子。 enter image description here

侧边栏有一个启动动画的Windows 8,它是一个落后的动画。

当我在这里测试帧速率时,结果如下: enter image description here

但是当我删除圆形按钮时: enter image description here

这是我按钮的css:

#tables button{
    font-size: 1.5em;
    color: white;
    border: none;
    outline: none;

    width: 105px;
    padding: 5px;
    margin: 10px;
    height: 70px;

    text-shadow: 2px 2px 5px rgba(120,155,179,0.5);
    cursor: pointer;
    -moz-border-radius:100px;
    -webkit-border-radius: 100px;
    border-radius: 50%;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    -ms-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
}

有没有更好的方法,即使有这么多按钮,它也不会影响性能?

1 个答案:

答案 0 :(得分:0)

这有点晚了,但我设法通过使用跨度而不是按钮来显着减少fps下降。毕竟,大量的按钮使得它很麻烦。