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 は一意でなければなりません。同じ id='latestblock' を持つ要素を 3 つ持つことはできません

また、関数を 3 回呼び出し、関数が渡されたパラメーターを使用していることを確認しました。

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