. оживить с кривой - PullRequest
       12

. оживить с кривой

6 голосов
/ 23 ноября 2011

Сначала взгляните:

enter image description here

Кошка должна перейти к x по кривой .(см. стрелку)

Когда кошка нажимает на x, она должна оставаться 10 секунд, и после этого кошка должна вернуться к o, снова по кривой и повторить.

Iпопробовал это с этим кодом:

function curve() {
    $('#cat').delay(10000).animate({top: '-=20',left: '-=20'}, 500, function() {
        $('#cat').delay(10000).animate({top: '+=20', left: '+=20'}, 500, function() {
            curve();
        });
    });
}

curve();

Но кошка движется так:

enter image description here

Есть ли способ заставить кошку двигаться в этомвид кривой?

Ответы [ 3 ]

1 голос
/ 23 ноября 2011

Вы можете использовать замедление для достижения этого, выполняя сложное движение:

function curve () {
    $('#cat').delay(10000).animate({top: "+=20px", left: "+=20px"}, {
      duration: 500, 
      specialEasing: {top: 'easeOutQuad', left: 'easeInQuad'}, 
      complete: function () { 
        $('#cat').animate({top: "-=20px", left: "+=20px"}, {
          duration: 500, 
          specialEasing: {top: 'easeInQuad', left: 'easeOutQuad'},
          complete: function() {
            // repeat the other way around.
          }});
      }
    });
}

Работает с jQuery 1.4, в соответствии с jQuery docs и упомянутыми упрощениями требуется пользовательский интерфейс jQuery (но только модуль Effect Core ). Каждый вызов .animate() составляет четверть пути полного круга, а обратное easeInQuad против easeOutQuad делает путь похожим на круговой путь вместо прямой к новой позиции.

1 голос
/ 23 ноября 2011

http://tympanus.net/codrops/2010/05/07/stunning-circular-motion-effect/

Нашел это, прибегая к помощи "jquery radial motion"

0 голосов
/ 24 апреля 2013

Есть крошечный скрипт, только для анимации, а не прямых линий, который называется pathAnimator

...