jQuery анимация более плавная? - PullRequest
0 голосов
/ 01 ноября 2011

проблема развивается вокруг

  1. этот случайный плавающий сценарий позволяет совершать только шаговые движения сначала слева, а затем вверх, но в идеальном случае он будет между двумя
  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);

1 Ответ

2 голосов
/ 01 ноября 2011

Обновлены ваши функции ниже.

1) Объедините ваш вызов 2 animate() в 1

2) Заменить setInterval() с помощью собственного success обратного вызова animate() для рекурсивного вызова.

3) Заменить setInterval() методом delay().

4) Попробуйте «сгладить» анимацию, уменьшив задержку между каждым циклом. (Который был установлен 400 вами)

http://jsfiddle.net/6kxts/

...