Trying to make a canvas "jump"

I'm trying to make a canvas jump. By jumping I mean moving up for a kinda sort time and then going down to the floor again. Something is obviously wrong because nothing happen when I press space. Can't think of what's wrong with my code, any ideas?

Timeouts are not chained nor summed. The browser does not want for the previous Timeout to have run before executing the next. It tries to run a timeout timeoutArg ms after the moment it is registered.
All your callbacks will be executed more or less at the same time here: 10 ms after being registered.

However, be aware that using timeouts for animation is bad practice. One should use requestAnimationFrame instead and base the animation progress on time, not on frames (frame rate is unreliable). Here is an example of the user of requestAnimationFrame.