You need to post your complete program
If you want a responsive program do not use delay() anywhere as it blocks the Arduino until it finishes. Have a look at how millis() and micros() is used to manage timing without blocking in the second example in this Simple Stepper Code.
You may also like to have a look at the demo Several Things at a Time which illustrates the use of millis() to manage timing without blocking. It may help with understanding the technique.
Have a look at Using millis() for timing. A beginners guide if you need more explanation.
...R
Stepper Motor Basics