Confused with "Else if" being ignored

Hi, I'm a complete beginner with Arduino and the program. My goal right now is to learn how to get LED 1 to constantly turn on and off, while two LED's turn on whenever LED 1 is at a certain state ( so on or off ). And so only my "If" statement is getting read and my third LED won't turn on whenever LED 1 is on. How can I improve my code to make this work?

int LED1 = 2;
int LED2 = 3;
int LED3 = 4;


void setup() {

pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);

}
void loop() {

digitalWrite(LED1, HIGH);
delay(1500);
digitalWrite(LED1, LOW);
delay(500); 


if(digitalRead(LED1) == LOW) // Turn on LED2 if LED1 Off
 { 
  
  digitalWrite(LED2, HIGH);
  delay(500);
  digitalWrite(LED2, LOW);
  delay(500);
  
 }
else if(digitalRead(LED1) == HIGH) // Turn on LED3 if LED1 On
 {

  digitalWrite(LED3, HIGH);
  delay(500);
  digitalWrite(LED3, LOW);
  delay(500);
  
 }


}

Don't do

digitalWrite(LED1, HIGH);
delay(1500);
digitalWrite(LED1, LOW);
delay(500);

at the top of the loop.
LED1 is always LOW when you get to your if statement.

Clearly you wanted LED1 to blink ON for 1.5 seconds and OFF for 0.5 seconds. It is not at all clear what you want the other two LEDs to do, and when.

If you can describe the patterns and that all start and end at the same time you COULD do it all with delay(). If any of the times are variable, or the sequences can't easily be programmed for a complete cycle, you will have to use more complex programming.