2016-01-28 2 views
1

Когда я аниматирую коробку с 90px влево и 90px вниз за 15 секунд, используя speed.js, анимация немного нервна.Почему анимация дрожащая/прерывистая на длительный срок?

Как исправить эту проблему, или я должен использовать другую анимационную библиотеку для JS?

$(function() { 
 
    $("#box").velocity({ 
 
    top: 90, 
 
    left: 90 
 
    }, { 
 
    duration: 15000, 
 
    easing: 'ease-in-out' 
 
    }); 
 
});
#box { 
 
    color: white; 
 
    background-color: black; 
 
    width: 50px; 
 
    height: 50px; 
 
    text-align: center; 
 
    line-height: 50px; 
 
    position: absolute; 
 
}
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
 
<script src="//julian.com/research/velocity/build/velocity.min.js"></script> 
 
<script src="//julian.com/research/velocity/build/velocity.ui.min.js"></script> 
 
<div id="box">box</div>

View on Codepen

+0

Я думаю, вы можете означать "нервным". Кажется, что не хватает разрешения сделать анимацию более гладкой с такой скоростью. При перемещении одного пикселя в секунду вы можете увидеть прыжок в поле. – showdev

+0

Да, я имею в виду нервозность. Могу ли я исправить это дрожание? – blobliebla

+1

Возможный дубликат [Почему медленная анимация jQuery изменчивая?] (Http://stackoverflow.com/questions/17996519/why-are-slow-jquery-animations-choppy) – showdev

ответ

1

Благодаря @showdev, заменив левую и верхнюю с translateX и translateY сделал трюк.

Код:

$(function() { 
 
    $("#box").velocity({ 
 
    translateY: 90, 
 
    translateX: 90 
 
    }, { 
 
    duration: 15000, 
 
    easing: 'ease-in-out' 
 
    }); 
 
});
#box { 
 
    color: white; 
 
    background-color: black; 
 
    width: 50px; 
 
    height: 50px; 
 
    text-align: center; 
 
    line-height: 50px; 
 
    position: absolute; 
 
}
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
 
<script src="//julian.com/research/velocity/build/velocity.min.js"></script> 
 
<script src="//julian.com/research/velocity/build/velocity.ui.min.js"></script> 
 
<div id="box">box</div>

View on Codepen

Смежные вопросы