2013-07-29 11 views
6

Chcę utworzyć efekt przewracania myszy, tak jak widzieliśmy to w witrynach flash - kiedy mysz przewraca element, zaczyna animować, ale jeśli w środku anim anim myszy wywróci animacja zatrzymałaby się i uciekł.Jak zatrzymać (w celu cofnięcia) animację fabricjów?

Chciałbym osiągnąć ten sam efekt z tkaniną, ale mogę znaleźć sposób na zatrzymanie animacji. Na przykład:

rect.animate('top', '200', { 
    duration: 1000, 
    onChange: canvas.renderAll.bind(canvas), 
    onComplete: function() { 
     //callback code goes here 
    } 
    }); 

To będzie animować, aż wartość top z rect będzie 200. Czy istnieje sposób, aby zatrzymać animację przed tym?

Odpowiedz

7

Należy podać funkcję abort.

rect.animate('top', '200', { 
    duration: 1000, 
    onChange: canvas.renderAll.bind(canvas), 
    onComplete: function() { 
     //callback code goes here 
    }, 
    abort: function(){ 
     return someConditionWhichAbortsAnimationWhenItsTrue; 
    } 
}); 

Jedynym problemem jest to, że abort nie została podjęta w związku z podstawowym fabric.util.animate, which I just fixed, więc trzeba korzystać z najnowszej wersji :)

+0

Dzięki! W najnowszej wersji masz na myśli pobieranie z repo? – MeLight

+0

@MeLight yep, z repo – kangax

+0

OK, to zrobię :) – MeLight

Powiązane problemy