how do i do somting, wait and then do somthing else

hi.
I have been trying to play an animation, wait and then stop the animation and re-enable my other scripts here is my code:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class pickup : MonoBehaviour {

private jump J;
private mover M;
private cube C;
private Animator A;

// Use this for initialization
void Start () {
	
	J = GetComponent <jump> ();
	M = GetComponent <mover> ();
	C = GetComponent <cube> ();
	A = GetComponent <Animator> ();
}

// Update is called once per frame
void OnCollisionEnter (Collision col)
{
	if (col.gameObject.name == "rifle") {
		J.enabled = false;
		M.enabled = false;
		C.enabled = false;
		A.enabled = true;
	}
}

IEnumerator Example (){
	yield return new WaitForSeconds (700);
}

void Update () {
			J.enabled = true;
			M.enabled = true;
			C.enabled = true;
			A.enabled = false;
		}

	}

right now it turns off all my scripts, turns on my animator, plays animation and stops it used to loop but I turned off loop.
so my question is, am I doing anything wrong or is there a glitch.
if I am doing something wrong explain what I’m doing wrong and show me exactly how to fix it

@programer717
Inside your OnCollisionEnter function right below A.enabled = true; just put

StartCoroutine(Example());