Giter VIP home page Giter VIP logo

Comments (5)

wout avatar wout commented on August 16, 2024

Ok, I think I know what the problem is. Could you try this:

cx = +joint.attr('cx')
cy = +joint.attr('cy')
poly.rotate(0, cx, cy).animate(2000, '<').rotate(-45, cx, cy)

If that does not throw the error I know where to look.

from svg.js.

sdbondi avatar sdbondi commented on August 16, 2024

That fixes the javascript error!
However I need the animation to stop on mouseout and reverse.
Setting the initial values causes the animation to 'snap' to the initial position
but with my hack it transitions from where it left off.

My code:

.on 'mouseover', ->
    handle1.rotate(0, cx, cy).animate(250, '=').rotate(-40, cx, cy)
    handle2.rotate(0, cx, cy).animate(250, '=').rotate(40, cx, cy)
.on 'mouseout', ->
    handle1.rotate(-40, cx, cy).animate(250, '=').rotate(0, cx, cy)
    handle2.rotate(40, cx, cy).animate(250, '=').rotate(0, cx, cy)

from svg.js.

wout avatar wout commented on August 16, 2024

Great. The cause of the error was that the cx and cy values in transformations of newly created elements are undefined. I will fix this in the next release. In the meantime it will suffice to just define those values manually right after creation of the element:

var cx = +joint.attr('cx')
var cy = +joint.attr('cy')
var poly = draw.polygon(...).transform({ cx: cx, cy: cy })

Once they are defined you can safely go back to your old code:

poly.animate(2000, '<').rotate(-45, cx, cy)

Without the extra rotate before calling animate that is.

from svg.js.

sdbondi avatar sdbondi commented on August 16, 2024

Awesome! Thanks for the great library!

from svg.js.

sdbondi avatar sdbondi commented on August 16, 2024

Unrelated:
I posted a question on stackoverflow about SVG.js and the ability to animate paths.
http://stackoverflow.com/questions/16460830/is-path-animation-possible-with-svg-js

Perhaps something could be added to the documentation about this.

from svg.js.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.