2015-04-05 93 views
0

我只是想知道一种方法来执行jQuery animate()函数自定义或随机缓动。随机缓动Jquery

我知道有,有很多渐变效果的插件,但我想知道是否有添加自定义的渐变效果

所以不是线性的方式:

111111111111111111111111111111111111 (velocity) 

或摆动:

00011111222222444422222211111000 (velocity) 

我得到的是这样的:

0011128833747733322885666111221100 (velocity) 

上面的数字代表速度。我想随意使它看起来更现实一些,而不是如此安排。

+0

您可以创建自己的渐变效果,但据我所知没有可用随机渐变效果。 – adeneo 2015-04-05 17:48:11

+0

你想要什么动画?也许它是一个更好的解决方案与css3或svg动画? – 2015-04-05 17:50:00

+0

一些来自屏幕一侧的粒子 – pedritoalfonso 2015-04-05 17:51:50

回答

0

定义自定义函数。

jQuery.easing.custom = function(p){ 
 
    var pow2, 
 
\t \t bounce = 4; 
 
    while (p < ((pow2 = Math.pow(2, --bounce)) - 1)/11) {} 
 
\t \t return 1/Math.pow(4, 3 - bounce) - 7.5625 * Math.pow((pow2 * 3 - 2)/22 - p, 2); 
 
}; 
 
console.log(jQuery.easing.custom(5756836523456436)); 
 
$("button").animate({ 
 
    width: "70%", 
 
    opacity: 0.6 
 
}, 2000, "custom", function(){ 
 
    $(this).after("<div>Animation complete.</div>"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button> 
 
    animate 
 
</button>