eas*_*wee 5 javascript bounce easing-functions velocity.js
通过velocity.js更改日志,我读到:
... 2)背部,弹跳和弹性缓和已被移除.请改用弹簧物理....
我想知道是否有任何简单的方法来重新创建easeOutBounce使用spring缓动的jQuery动画可用的效果,它接受自定义参数?
默认情况下,您可以使用以下spring缓动:
$('.ball').velocity({ top: ['200px', 'spring']}, { duration: 2000 });
Run Code Online (Sandbox Code Playgroud)
可以通过指定[tension, friction]而不是仅传递缓动关键字来自定义弹簧缓动spring.所以你可以这样做:
$('.ball').velocity({ top: ['200px', [500, 0]]}, { duration: 2000 });
Run Code Online (Sandbox Code Playgroud)
我无法理解使用哪种摩擦力和张力值来实现easeOutBounce缓和.我试图让球在达到200px时反弹 - 但它反而是一个"松散"的弹簧,低于地线而不是弹跳.
这是否可以通过velocity.js以简单的方式完成,所以我不需要自己实现自定义缓动函数?
$('button').on('click', function(){
$('.ball').css('top', '120px');
$('.ball').velocity({ top: ['200px', [500, 0]]}, { duration: 2000 });
});Run Code Online (Sandbox Code Playgroud)
.display {
width: 240px;
height: 280px;
position: relative;
border: 1px solid #000;
}
.ball {
position: absolute;
top: 120px;
left: 40px;
width: 20px;
height: 20px;
}
.ball:after {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 100%;
background: red;
}
.ground {
position: absolute;
top: 220px;
left: 0;
width: 100%;
height: 1px;
background: black;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/velocity/1.1.0/velocity.min.js"></script>
<button>Throw ball</button>
<div class="display">
<div class="ball"></div>
<div class="ground"></div>
</div>Run Code Online (Sandbox Code Playgroud)