Stop Character moving immediately

Hey, in my 2D game, my character slides a little bit on the x-Axis after releasing the running buttons. I want him to stop immediately on the spot when the running animation fades out and Idle comes in. How do i do this?

i tried with velocity but its read-only...

thanks a lot!

At the moment its look this way, i thought about calling a function in the first else. But i dont know what i should contain^^

function LateUpdate () {
var controller : PlayerController = GetComponent(PlayerController);

//~ if (hasAnimations) {
    // We are not falling off the edge right now
    if (controller.GetHangTime() < hangTimeUntilFallingAnimation) {

        // Are we moving the character?
        if (controller.IsMoving() && isRunning)
        {

                animation.CrossFade ("run", 0.5, PlayMode.StopAll); 

                isLanding = false;

        }
        // Go back to idle when not moving
        else {
            if(isLanding == true && Time.time > tempTime)
            {
                isLanding = false;
                Idle();
            }

            else
            {
                Idle();
            }
        }
    }

}

Even though the VARIABLES in velocity are read only, you can still assign an entire Vector3 to it, you just have to build it manually or use the zero vector. So, to stop a rigidbody in my game, what I do is:

this.rigidbody.velocity = Vector3.zero;
this.rigidbody.angularVelocity = Vector3.zero;

This is the same as

this.rigidbody.velocity = new Vector3(0, 0, 0);
this.rigidbody.angularVelocity = new Vector3(0, 0, 0);

You could try doing
RigidBody.IsKinematic = true;