Jquery Animate正弦波步法

时间:2013-02-05 01:47:14

标签: jquery jquery-animate

JS小提琴: http://jsfiddle.net/Kpj3b/19/

它开始没事,但很快变得不稳定和暴力。我只是想从A点到B点制作一个漂亮的平滑sin波。

我的Mathmatics中的任何建议?

$("#ball").stop().animate({'border-spacing': 400 },{ 
    step: function(p, fx) {
        s = Math.sin(p);
        y = s * 50 + 150;
        console.log(s);
        var move = {top: y + "px", left: p + "px"};
        $(fx.elem).css(move);
    }, duration: 10000, complete: function () { $("#ball").remove(); }
});

PS:我不想使用jquery.path.js。

1 个答案:

答案 0 :(得分:2)

如果您未指定easing,则默认为'swing',这就是为什么它看起来越来越“暴力”。您可以指定'linear'进行缓动以获得更多您想要的效果。我还更新了border-spacing属性更改的金额,因为当它太高时,补间对于眼睛来说有点太分开了:

http://jsfiddle.net/ExplosionPIlls/Kpj3b/20/