I wouldn't use that. You would need to give it a function that checks for both a button press and uses millis() to check if a period has elapsed. Even then, it would allow delay() to be removed, but it would not break the loop containing that delay(), so the pattern change would not be instant, you would still see it completing the loop at maximum speed. You could add even more code to break the loop containing the delay() if the button is pressed. That would give you instant pattern changes. But making all those changes would leave you with code that is more complex, and more ugly, than re-writing the patterns to not use delay() in the first place.
I can see you updated your code to remove colorWipe() in most places, but there is still one left. As I explained, with only a single pixel, colorWipe() is pointless. You should remove it entirely.