Don't use for-loops (or while-loops) and don't use delays. Use a millis() based approach. The guide in Having trouble understanding how to convert from delay to millis - #8 by sterretje demonstrates how to approach the conversion from a for-loop with delays to a millis() based approach (the code was not compiled nor tested).