Lerp is teleporting my object but not moving slowly

my code:

void OnMouseDown () {
			audio.Play ();

		if (isRes) {
			if(count%2 ==0){
				//ResBoard.transform.position = new Vector3(0f, 3.5f, 0f);
				StartCoroutine(Move (ResBoard.transform, 6,3.5f,0.5f));
			} else {
				StartCoroutine(Move (ResBoard.transform, 3.5f,6,0.5f));
				//ResBoard.transform.position = new Vector3(0f, 7f, 0f);

		if (isClose) {
			StartCoroutine(Move (ResBoard.transform, 3.5f,6f,0.5f));
			//ResBoard.transform.position = new Vector3(0f, 7f, 0f);


	IEnumerator Move(Transform thisTransform,float start, float pos, float time){
		float i= 0.0f;
		float rate= 1.0f/time;
		while (i < 1.0f) {
			i += Time.deltaTime * rate;
				thisTransform.position = Vector3.Lerp(new Vector3(0f,start,0f), new Vector3(0f,pos,0f), i);
			yield return null; 

i don’t know what is wrong with this, on another scene it still works fine

Try to move your yield inside your while loop