Jquery 如何沿圆弧设置图像动画

Jquery 如何沿圆弧设置图像动画,jquery,animation,jquery-animate,Jquery,Animation,Jquery Animate,我想沿着圆弧的路径设置am图像的动画。该圆弧是圆周长的45°段 我知道以前做这件事最简单的方法是使用,但是这段代码似乎已经失效了(这个演示在Chrome中不再有效) 否则我将如何进行此操作?您可以在动画中使用步骤回调来创建自己的自定义效果。设置一些没有可见效果的属性的动画,并从中设置坐标: $('div').css({ fontSize: 0 }).animate({ fontSize: 45 },{ duration: 2000, easing: "swing",

我想沿着圆弧的路径设置am图像的动画。该圆弧是圆周长的45°段

我知道以前做这件事最简单的方法是使用,但是这段代码似乎已经失效了(这个演示在Chrome中不再有效)


否则我将如何进行此操作?

您可以在动画中使用
步骤
回调来创建自己的自定义效果。设置一些没有可见效果的属性的动画,并从中设置坐标:

$('div').css({ fontSize: 0 }).animate({
    fontSize: 45
},{
    duration: 2000,
    easing: "swing",
    step: function(t, fx){
        var a = t / 57.296; // from degrees to radians
        var x = 100 + Math.cos(a) * 50;
        var y = 100 + Math.sin(a) * 50;
        $(this).css({ left: x, top: y });
    }
});

演示:

谢谢,我该如何设置此中的度或圆半径?@alias51:示例循环范围为0度到45度,半径为50度。圆圈的中心是100100。太好了,谢谢。有什么办法能让这更顺利吗?在我的浏览器(Chrome 30)中,它有点不稳定。@alias51:据我所知,浏览器将坐标舍入到最近的像素,这使得路径有点粗糙。如果你在jQuery.path演示中看到一个较慢的元素,你会发现它们实际上并没有平稳地移动,但是有太多的元素在移动,除非你去寻找它,否则你看不到它。@Guffa有一种方法可以使它平稳下来:放松。如果在jQuery中使用默认值,则可能不会总是获得最佳结果。如果您还使用jQuery UI,您将获得更多选项,以提供更好的动画效果。我所做的改动是添加了jQuery UI和某种放松,它非常平滑:如果将速度提高到1000毫秒,它看起来会更好