0

問題は周りに進化します

  1. このランダムフローティングスクリプトでは、最初に左に、次に上にステップ移動することしかできませんが、完全には2つの間になります。
  2. なめらかではありません

プラグインもイージングしてみました

コードはここにあります:

function ran(min, max)
{
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
function moveIt()
{
    $(".circle").each(function() {
        x = ran(-3, 3);
        y = ran(-3, 3);
        pos = $(this).position();
        nowX = pos.left + x;
        nowY = pos.top + y;
        $(this).animate({"left": nowX}, {queue:false, duration:400, easing: 'linear'});
        $(this).animate({"top":  nowY}, {queue:false, duration:400, easing: 'linear'});
    });
}
setInterval(moveIt, 400);
4

1 に答える 1

2

以下で関数を更新しました。

animate()1) 2 つの呼び出しを 1つにマージする

2) setInterval()usinganimate()独自のsuccessコールバックを再帰的に呼び出すように置き換えます。

setInterval()3)使用delay()方法を置き換えます。

4) 各ループ間の遅延を減らして、アニメーションを「滑らかにする」ようにしてください。(あなたが設定した400でした)

http://jsfiddle.net/6kxts/

于 2011-11-01T09:22:57.497 に答える