Destroying a trigger after the player leave it ?

I want to play a animation of a bookshelf moving and a light falling down when I walk to one area, I created an empty object with a box collider(is trigger) as a trigger for that to happen, and it went fine. But when I walk into that area again and the animation goes on again, I don’t want that to happen. Is there a way to destroy the trigger after the animation is done ? I used this script to trigger the animation:
#pragma strict

var BookShelf : GameObject;
var BookShelfSound : AudioClip;
var Ceillight : GameObject;
var CeillightSound : AudioClip;

function OnTriggerEnter (Other : Collider)
{
    if(Other.gameObject.tag == "Player")
    {
        BookShelf.animation.Play("BookShelfMoving");
        audio.PlayOneShot(BookShelfSound);
        yield WaitForSeconds(4.25);
        Ceillight.animation.Play("ceillightfalling");
        audio.PlayOneShot(CeillightSound);
    }
}

Destroy the trigger. Add this line to your if statement:

GameObject.Destroy(gameObject);