Gradual Jump 2d

Hello everyone. I’m trying to make my player jump gradually while the button is pressed, but without success. Could someone give some idea of ​​how to do?

Current code:

if (!jumping && Input.GetMouseButton(0)) {
	StartCoroutine (Jump());
}

	IEnumerator  Jump (){		
		jumping = true;
		float timer = 0.0f;
		
		while (timer <= jumpTime) {
			float height = Mathf.Sin(timer / jumpTime * Mathf.PI) * jumpHeight;
			transform.localPosition = new Vector3(transform.localPosition.x, transform.localPosition.y+height, 0);
			timer += Time.deltaTime;
			
			yield return null;
		}
		jumping = false;
	}

hey, check this out, there is a pretty simple way to make your char jump in this tutorial.
http://unity3d.com/learn/tutorials/modules/beginner/2d/2d-controllers

If you wan’t it to jump forever, I don’t have the answer, but if you want the player to jump and then fall to the ground when the gravity drags it down again,
you can use the rigidbody2d.AddForce( /* Vector2 to controll the direction */ ).

For your purpose, it would look something like this:

rigidbody2d.AddForce(0, jumpPower);