使用jquery在圆圈中旋转多个图像

时间:2012-05-12 11:46:24

标签: jquery css image jquery-animate

我需要使用jquery在同一轨道圆圈中旋转多个图像。我更改并延迟了两个图像的时间间隔。问题是图像在几秒钟后重叠。我的代码是

            <script type="text/javascript">
            var p = 0;

            function moveit() {
            p += 0.02;

            var r = 135;
            var xcenter = 500;
            var ycenter = 200;
            var newLeft = Math.floor(xcenter + (r * Math.cos(p)));
            var newTop = Math.floor(ycenter + (r * Math.sin(p)));
            $('#friends').animate({
                    top: newTop,
                    left: newLeft,
                }, 10, function() {
                    moveit();
            $('#friends2').animate({
                top: newTop,
                left: newLeft,
            },15, function() {
                moveit();
            });
             }
            $(document).ready(function() {
                moveit();    
            });
            </script>

我的css和html源代码是

   #friends { position: absolute;     }         
     #friends2 { position: absolute;    }     

 <img src="Images/info.gif" id="friends"/>
<img src="Images/circle.jpg" id="circles" />
<img src="Images/help.gif" id="friends2" />

现场演示:http://jsfiddle.net/W69s6/embedded/result/但这适用于单张图片.. 有什么建议??

编辑::     我的形象 rotation of images

示例链接http://www.templatemonster.com/demo/38228.html

2 个答案:

答案 0 :(得分:5)

Check this example

有两个项目以相同的速度在同一轨道上旋转。它永远不会重叠。

修改

并且here is the example可以以相同的速度和相同的轨道旋转4个项目,但同样分开。

要添加更多项目,只需通过添加不同角度来调整代码。

<强>更新

And here is the simple image version

希望这会有所帮助。干杯!!!

答案 1 :(得分:1)

您的代码有效,但看起来您的语法错误;你的第一个移动电话没有正确结束。

这个具有相同的轨道,不同的速度 http://jsfiddle.net/thinkingsites/FyMCc/

修改

您的错误是将命令旋转到同一功能中的两个项目。他们都抓住了相同的顶部和左边,并且总是相互绑定,更不用说它们都调用moveit()所以每次调用moveit时,它会在内部被调用两次。

我已修复你的递归,所以它只发生一次,并使moveit接受目标元素以及不同的起始位置(移位)。

这个具有相同的轨道,相同的速度,不同的位置 http://jsfiddle.net/thinkingsites/QAT7C/11/