Как убрать анимацию с объекта? - PullRequest
3 голосов
/ 26 декабря 2011

Как удалить анимацию с объекта в Рафаэле?

var animation  = Raphael.animation({opacity:.2}, 1000);
var circle = paper.circle(0, 0, 5).animate(animation.repeat(Infinity));

Я хочу выполнять анимацию на объекте до некоторого момента времени.И вопрос в том, как удалить / остановить анимацию в этот конкретный момент?

Ответы [ 2 ]

5 голосов
/ 27 декабря 2011

Ну, я действительно не знаю почему, но скрипка работает, если не передать никаких аргументов методу остановки.Несмотря на то, что говорится в документации Рафаэля, я нашел рабочий пример остановки анимации на этом сайте (кстати, это не самый красивый сайт, но у них есть пример для каждого метода Рафаэля!)

Здесь у вас работает скрипка.http://jsfiddle.net/fKxqS/2/

Наслаждайтесь!

1 голос
/ 27 декабря 2011

Если вы хотите остановить анимацию после определенного промежутка времени ...

setTimeout(circle.stop(animation), 500) //500 is milliseconds, so it's 0.5s

Если вы хотите остановить анимацию после события, например, щелчка

circle.click(function(){
  circle.stop(animation)
})

Редактировать: Кажется, Рафаэль не останавливается, если для повторения установлено значение Бесконечный, возможно, кто-то знает обходной путь, вот скрипка: http://jsfiddle.net/fKxqS/

...