FastLED HELP NEEDED W8211B

hello
i am working on a project where i can control a LED strip with W8211B leds on it. i am controlling it with a IR remote and everything works fine, thats not the problem. my problem is that when i want to do the function Jump3() it only does it once, but i want it to loop it until i press a other button on my remote. i got all the buttons configured and written down. can someone help me with this.

#include <FastLED.h>
#include <IRremote.h>

#define LED_PIN     7
#define NUM_LEDS    97
CRGB leds[NUM_LEDS];

const int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results results;
unsigned long key_value = 0;

void setup() {
  FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
  Serial.begin(9600);
  irrecv.enableIRIn();
  irrecv.blink13(true);
  
}

void loop() {
  if (irrecv.decode(&results)){
 
        if (results.value == 0XFFFFFFFF)
          results.value = key_value;

        switch(results.value){
          
          case 0xFF827D:
          for (int i = 96; i >= 0; i--) {
          leds[i] = CRGB ( 0, 0, 0);
          FastLED.show();
          Serial.println("off"); }
          break;
          
          case 0xFF02FD:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 255, 255, 255);
          FastLED.show();
          Serial.println("on"); }
          break;
          
          case 0xFF1AE5:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 255, 0, 0);
          FastLED.show();
          Serial.println("R0"); }
          break ;  
           
          case 0xFF9A65:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 0, 255, 0);
          FastLED.show();
          Serial.println("G0"); }
          break ;       
                   
          case 0xFFA25D:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 0, 0, 255);
          FastLED.show();
          Serial.println("B0"); }
          break ;   
          
          case 0xFF22DD:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 255, 255, 255);
          FastLED.show();
          Serial.println("W0"); }
          break ;
             
          case 0xFF2AD5:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 150, 0, 0);
          FastLED.show();
          Serial.println("R1"); }
          break ;  
            
          case 0xFFAA55:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 0, 150, 0);
          FastLED.show();
          Serial.println("G1"); }
          break ;  
            
          case 0xFF926D:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 0, 0, 150);
          FastLED.show();
          Serial.println("B1"); }
          break ;
          
          case 0xFF12ED:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 246, 126, 126);
          FastLED.show();
          Serial.println("W1"); }
          break ;
          
          case 0xFF0AF5:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 255, 30, 0);
          FastLED.show();
          Serial.println("R2"); }
          break ;
          
          case 0xFF8A75:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 38, 255, 38);
          FastLED.show();
          Serial.println("G2"); }
          break ;
          
          case 0xFFB24D:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 0, 0, 0);
          FastLED.show();
          Serial.println("B2"); }
          break ;
          
          case 0xFF32CD:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 246, 126, 126);
          FastLED.show();
          Serial.println("W2"); }
          break ;
          
          case 0xFF38C7:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 255, 50, 0);
          FastLED.show();
          Serial.println("R3"); }
          break ;
          
          case 0xFFB847:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 0, 171, 255);
          FastLED.show();
          Serial.println("G3"); }
          break ;
          
          case 0xFF7887:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 40, 3, 3);
          FastLED.show();
          Serial.println("B3"); }
          break ;
          
          case 0xFFF807:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 0, 171, 255);
          FastLED.show();
          Serial.println("W3"); }
          break ;
          
          case 0xFF18E7:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 230, 255, 0);
          FastLED.show();
          Serial.println("R4"); }
          break ;
          
          case 0xFF9867:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 0, 70, 255);
          FastLED.show();
          Serial.println("G4"); }
          break ;
          
          case 0xFF58A7:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 255, 0, 255);
          FastLED.show();
          Serial.println("B4"); }
          break ;
          
          case 0xFFD827:
          for (int i = 0; i <= 96; i++) {
          leds[i] = CRGB ( 0, 171, 255);
          FastLED.show();
          Serial.println("W4"); }
          break ;
          
          case 0xFF30CF:
          Serial.println("jump3");
          Jump3();
          break ;
          
          case 0xFFB04F:
          Serial.println("fade3");
          Fade3();
          break ;
          
          case 0xFF708F:
          Serial.println("jump7");
          Jump7();
          break ;
          
          case 0xFFF00F:
          Serial.println("quick");
          Quick();
          break ;
          
          case 0xFF10EF:
          Serial.println("fade7");
          Fade7();
          break ;
          
          case 0xFF906F:
          Serial.println("flash");
          FLASH();
          break ;
          
          case 0xFF50AF:
          Serial.println("auto");
          AUTO();
          break ;
          
          case 0xFFD02F:
          Serial.println("slow");
          Slow();
          break ;      
          
        }
        key_value = results.value;
        irrecv.resume();
  }
}

void Jump3(){
  fill_solid( leds, NUM_LEDS, CRGB(255,0,0));
  FastLED.show();
  delay(1000);
  fill_solid( leds, NUM_LEDS, CRGB(0,255,0));
  FastLED.show();
  delay(1000);
  fill_solid( leds, NUM_LEDS, CRGB(0,0,255));
  FastLED.show();
  delay(1000);
}
void Fade3(){
  //not done
}
void Jump7(){
  //not done
}
void Quick(){
  //not done
}
void Fade7(){
  //not done
}
void FLASH(){
  //not done
}
void AUTO(){
  //not done
}
void Slow(){
  //not done
}