我需要使用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/但这适用于单张图片.. 有什么建议??
编辑:: 我的形象
或
答案 0 :(得分:5)
有两个项目以相同的速度在同一轨道上旋转。它永远不会重叠。
修改强>
并且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/