0

那是我的代码http://jsfiddle.net/BREvn/2/ (它有效),但我希望每个 div 都具有唯一的位置坐标。现在脚本得到第一个,其他人移动到他的地方。怎么可能解决这个问题?我尝试了一个 .each 函数,但没有任何结果。我认为这很容易,但我在 jquery/javascript 方面做得太好了。

$('#latestblock').animate({
  top: newY,
  left: newX
}, 500, function() { });

我认为这里必须循环但不知道该怎么做。

4

3 回答 3

2

像这样的东西?

http://jsfiddle.net/BREvn/5/

我将 id 重命名为一个类并创建了一个无限循环。还将对象发送到 moveRandom 函数“moveRandom(obj)”中,并在动画完成后,自行调用 moveRandom 函数。

$('.latestblock').each(function() {
    moveRandom($(this));
});
于 2013-01-15T14:06:50.747 回答
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
});

完整的演示

于 2013-01-15T14:04:25.053 回答
0

这是更新的工作版本:http: //jsfiddle.net/BREvn/4/

ID 必须是唯一的,不能有 3 个元素具有相同的 id='latestblock'

我还调用了该函数 3 次,并确保该函数正在使用传入的参数。

moveRandom('#latestblock1');
moveRandom('#latestblock2');
moveRandom('#latestblock3');
于 2013-01-15T14:05:58.453 回答