That is because every frame the objects position will increment by the speed. Meaning if the speed is 5 and the object is 2 px from the ground, the object, falling straight down, will end up 3 px in to the ground.
The best way to do this is to move the object until it is hovering slightly above the ground. Here's a simple algorithm.
// while the object is touching the ground while(player.hitTest(ground._x, ground._y, true)){ // move to contact player._y-- }