You gave very little information. However, it seems me that you try to animate the sprite besides the game loop. Timing (and animation is just the timed alteration of variables) is usually driven by the game loop, as well as the rendering is. So, if you alter the rcSprite.y without ever rendering intermediately, you'll see "teleporting".
The usual structure (although it needs some tweaking) is as follows:
In the game loop ...
... iterate until the game is quitted
... ... measure the time that has elapsed since last recent pass
... ... handle user input
... ... update the animated states
... ... perhaps do physics
... ... perhaps do collision handling
... ... render
In the user input section ...
... if the user triggers jumping and rcSprite.jumping == false then set rcSprite.jumping = true
In the update routine of the rcSprite ...
... if rcSprite.delta > 0 and rcSprite.y >= jumpHeight then set rcSprite.delta = -1
... if rcSprite.delta < 0 and rcSprite.y <= groundHeight then set rcSprite.delta = 0, rcSprite.jumping = false, rcSprite.y = groundHeight
... if rcSprite.jumping == true then set rcSprite.y += rcSprite.delta
In the render routine ...
... use current rcSprite.y for rendering