这是我的代码http://jsfiddle.net/BREvn/2/ (可行),但我希望每个div都使用唯一的位置坐标。现在脚本获得第一个,其他人移动到他的位置。怎么可能解决这个问题?我尝试了一个.each函数,但没有任何结果。我认为这很容易,但我在jquery / javascript中太好了。
$('#latestblock').animate({
top: newY,
left: newX
}, 500, function() { });
我认为这里必须循环但不知道该怎么做。
答案 0 :(得分:2)
这样的东西?
我将id重命名为一个类并创建了一个无限循环。 同时将对象发送到moveRandom函数'moveRandom(obj)',并在de动画结束后,自行调用moveRandom函数。
$('.latestblock').each(function() {
moveRandom($(this));
});
答案 1 :(得分:1)
您不能为多个元素提供相同的ID。
您可以使用课程
<div id='container'>
<div class='latestblock'></div>
<div class='latestblock'></div>
<div class='latestblock'></div>
</div>
然后使用each
为所有元素设置动画:
$('.latestblock').each(function(){ // <= iterates on all blocks
moveRandom($(this)); // <= pass the block to the moveRandom function
});
答案 2 :(得分:0)
以下是更新后的工作版本:http://jsfiddle.net/BREvn/4/
ID必须是唯一的,您不能拥有3个具有相同ID ='latestblock'
的元素我还调用了该函数三次,并确保该函数使用了传入的参数。
moveRandom('#latestblock1');
moveRandom('#latestblock2');
moveRandom('#latestblock3');