linear
我看到有人使用一种算法来模拟仅使用参数的easeOutExpo 效果。下面这段代码的缺点是它需要计算:
step_value += (target_value - step_value)/25
. 在代码中看起来很奇怪。
在这种情况下,如何将缓动函数直接分配给 jQuery?在这种情况下是否可以只应用缓动函数而不在代码中引入 jQuery UI 或任何其他繁重的框架?
var step_value = 0;
var target_value = 90;
$({
someValue: 0
}).animate({
someValue: target_value
}, {
duration: 6800,
easing: 'linear',
step: function() {
step_value += (target_value - step_value)/25;
$('#text1').val(step_value);
},
complete: function(){
$('#text1').val(target_value).css('color', 'red');
}
});
/* This is my goal:
$({
someValue: 0
}).animate({
someValue: target_value
}, {
duration: 6800,
easing: 'easeOutExpo',
step: function() {
$('#text1').val(this.someValue);
},
complete: function(){
$('#text1').val(this.someValue).css('color', 'red');
}
});
*/
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="text1" />