Position problem, Make my own Button

I am trying to create my own big red button. Maybe there’s a better way to do it, but this is what I came up with so far. It’s supposed to be that when I click it moves down and when I release it moves back up. And it does some times, other times it starts moving up randomly. Any one know why?

var button: Transform;
var speed = 5;

function OnMouseDown(){
	button.position -= button.position.up * speed * Time.deltaTime;
}
function OnMouseUp(){
	button.position += button.position.up * speed * Time.deltaTime;
	Debug.Log(button.position);
}

Dude, use this in OnGUI().

Lerp worked! Here’s the working code.

var button: Transform;

var confetti: GameObject;

function OnMouseDown(){

    transform.position = Vector3.Lerp(Vector3(0,1.650255,0), Vector3(0,1.400255,0), Time.time);
    yield WaitForSeconds(0.1);
    transform.position = Vector3.Lerp(button.position, Vector3(0,1.650255,0), Time.time);
    var fun = Instantiate(confetti, button.position, Quaternion.Euler(-90, 0, 0));
    yield WaitForSeconds(4);
    Destroy(fun);

}