No headbob when jumping

I got this script from unity answers.

private var timer = 0.0; 
var bobbingSpeed = 0.18; 
var bobbingAmount = 0.2; 
var midpoint = 2.0; 

function Update () { 
   waveslice = 0.0; 
   horizontal = Input.GetAxis("Horizontal"); 
   vertical = Input.GetAxis("Vertical"); 
   if (Mathf.Abs(horizontal) == 0 && Mathf.Abs(vertical) == 0) { 
      timer = 0.0; 
   } 
   else { 
      waveslice = Mathf.Sin(timer); 
      timer = timer + bobbingSpeed; 
      if (timer > Mathf.PI * 2) { 
         timer = timer - (Mathf.PI * 2); 
      } 
   } 
   if (waveslice != 0) { 
      translateChange = waveslice * bobbingAmount; 
      totalAxes = Mathf.Abs(horizontal) + Mathf.Abs(vertical); 
      totalAxes = Mathf.Clamp (totalAxes, 0.0, 1.0); 
      translateChange = totalAxes * translateChange; 
      transform.localPosition.y = midpoint + translateChange; 
   } 
   else { 
      transform.localPosition.y = midpoint; 
   }
}

How would I make it so that when I am jumping and holding down a movement key it wont do the headbobbing??? PLEASE HELP

Within

if (Mathf.Abs(horizontal) == 0 && Mathf.Abs(vertical) == 0)

use

if (charController.isGrounded)

I think this will work only if your character is touching the ground. Try it and let me know.