jQuery анимация более плавная?

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

  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 ответ

Обновил свою функцию ниже.

1) Слей свой 2 animate() вызов в 1

2) Заменить setInterval() с помощью animate()собственный success обратный вызов, чтобы вызвать рекурсивно.

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

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

http://jsfiddle.net/6kxts/

Другие вопросы по тегам