1

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

一开始还不错,但很快就变得不稳定和暴力。我只是想从 A 点到 B 点制作一个漂亮的平滑正弦波。

我的数学有什么建议吗?

$("#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。

4

1 回答 1

2

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

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

于 2013-02-05T01:53:20.653 回答