RGB LED STRIP programming question

i want it to act like this-
button is pressed, first led lights up as one of the values being received from serial, then as that led moves down each step it keeps changing color according to the incoming serial value (instead of just keeping the first value received).

lets say i have the serial values changing the leds from bright to dim, slowly fading in and out. RIGHT NOW with my code, pushing the button lights up the first led as bright (or whatever value the max patch is at in the fade), but then it holds this bright value as it steps down the strip. i would like it to constantly change value, fading from bright to dim and back, as it is stepping down after button press.