LED Lighting project, Need Help Urgently!

I suggest you use millis() to watch the elapsed time.
Capture the millis() when you do the first transition, and every pass thru loop captures it again until the time has passed that you reset/restart.
I often set a flag to indicate that an action is in progress, and use that and a time comparison to make a decision:

void loop(){
if ((triggerevent occurred) & (event_running == 0)){
event_running = 1;
starttimemillis = millis();
// start event action
}

currentmillis = millis();
if ((event_running == 1) &( (currentmillis - eventstartmillis)>=interval)){
event_running  = 0;
// other stop event action
}
} // end loop

This is the basis of "blink without delay" that is referenced often. Make sense?