you need to stop the ongoing animation before starting a new one, otherwise it will finish the ongoing animation first and only then will start the new one.
its done by calling .stop()
first.
also you forgot to bind on mouse leave events.
heres yours fixed fiddle: