Trouble getting rid of the delay [SOLVED]

not bad at all.

three things:

a) you also have to remember if you are in "on" state or in "off" state and react in your if (currentMillis ... accordingly ... a first step of a state machine.
b) don't call pixels.show(); after each pixels.setPixelColor, just call it once after you have set all pixels.
c) add Serial.println in each "if" so that you can see, what your code is doing.