Jump Animation Failure

My jump animation plays the first frame and then instantly goes to idle. I have checked everything I can think of! Code below:

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

public class Player_Movment : MonoBehaviour{

public CharacterController2D controller;
public Animator animator;

public float runSpeed = 40f;

float horizontalMove = 0f;
bool jump = false;

// Update is called once per frame
void Update()
{
    horizontalMove = Input.GetAxisRaw("Horizontal") * runSpeed;

    animator.SetFloat("Speed", Mathf.Abs(horizontalMove));

    if (Input.GetButtonDown("Jump"))
    {
        jump = true;
        animator.SetBool("IsJumping", true);
    }

}

public void OnLanding ()
{
    animator.SetBool("IsJumping", false);
    jump = false;
}

void FixedUpdate ()
{
    //Move our character
    controller.Move(horizontalMove * Time.fixedDeltaTime, false, jump);
    jump = false;
}

}

Check the animator controller, maybe the “IsJumping” is set to true by default. Also make sure in the animator controller, the Entry directly goes to the Idle animation

New problem, now when I click space, my player jumps perfectly with the jump animation, and then continues the animation on the ground. “IsJumping” is set to false, which according the animator tab, should switch to the idle animation. I did though realize that if I start running, the run animation appears and and switches to idle perfectly when I stop running.

Then just view the animation in inspector(not the animator)and check off loop time