【问题标题】:Rotate multiple images in a circle using jquery使用jquery在一个圆圈中旋转多个图像
【发布时间】:2023-03-14 21:15:01
【问题描述】:

我需要使用 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/ 但这是针对单个图像的.. 有什么建议吗??

编辑:: 我的形象

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

【问题讨论】:

  • 嗨,你可能会从我的一个旧回复中得到好主意:stackoverflow.com/questions/10294720/… 请看一下;干杯! 工作演示 jsfiddle.net/5fvc5 让我知道这是否有帮助,我会将其设置为答案!
  • 感谢 Tats_innit。但我需要在 d 相同的轨道上旋转三个图像而不重叠。??
  • jsfiddle.net/5fvc5/3 让我知道您是否希望我将其设置为答案,干杯
  • 当你说旋转时,你的意思是循环图像,而不是绕轴旋转,是吗?
  • 再次感谢。Tats_innit .. 看看我的图像,我希望图像在 d 轨道上旋转..

标签: jquery css image jquery-animate


【解决方案1】:

Check this example

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

编辑:

here is the example 表示 4 个项目以相同的速度和相同的轨道旋转,但间隔相等。

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

更新:

And here is the simple image version

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

【讨论】:

  • 感谢 libin .. 当它悬停在图像上时我可以停止旋转吗??
  • 按照代码,它永远不会停止。如果你看到它停止了旋转,那么它可能是在 jQuery 崩溃或一些缓存错误时。
  • 你能指出哪个决定了旋转的速度吗? . p 值或 moveit() 函数中的值 10 ??
  • 最好更改p 值。
  • 这两个值有什么区别?
【解决方案2】:

您的代码可以正常工作,但看起来您有语法错误;您的第一次 moveit 通话未正确结束。

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

编辑

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

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

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

【讨论】:

  • 它仍然重叠.. 观看 20 秒
  • 所以你想让它们在不同的位置,在相同的轨道上,以不同的速度?
  • 我做了一个编辑,以相同的速度执行相同的轨道但不同的位置。
猜你喜欢
  • 2019-04-25
  • 1970-01-01
  • 1970-01-01
  • 2020-05-22
  • 1970-01-01
  • 2011-10-13
  • 2013-03-31
  • 2021-07-30
  • 1970-01-01
相关资源
最近更新 更多