Turning servo after a certain period of time, while actuating solenoid

I am attempting to turn a servo which controls the steering on a robot after a certain period of time, and for it to continue turning for another period of time. Throughout this time period which it is turning i want it to continue actuating a solenoid. Here is what i've come up with, and i'm not sure why it doesn't work. The solenoid actuates, but the servo does not turn after the specified amount of time. Any help would be appreciated, id like to keep it as simple as possible.

#include <Servo.h>
#include <Wire.h>


Servo myservo;

const int startupDelay = 15000;
int servoPin = 3;       // Pin that the servomotor is connected to
int solenoidPin = 2;    // Pin that the mosfet is conected to
int pos = 0;            // variable to store the servo position
int servoDir = 0;
int solenoidState = LOW;           
unsigned long previousMillis = 0;        // will store last time LED was updated
const long interval = 1000;           // interval at which to blink (milliseconds)
int straight = 95;


void setup() {
    delay(startupDelay);
  myservo.attach(servoPin); // attaches the servo on pin 9 to the servo object
  myservo.write(straight); 
  pinMode(solenoidPin, OUTPUT);           //Sets the pin as an output
  Serial.begin(9600);                     // starts serial communication @ 9600 bps
  Wire.begin();
}

void loop() {

////////////// SOLENOID VALVE ///////////////////////////////////////////////////
unsigned long currentMillis = millis();
  if (currentMillis - previousMillis >= interval) {
    previousMillis = currentMillis;
    if (solenoidState == LOW) {
      solenoidState = HIGH;
    } else {
      solenoidState = LOW;
    }
    digitalWrite(solenoidPin, solenoidState);    //Switch Solenoid ON/oFF
  }
  if (currentMillis >= 10000 && currentMillis <= 10500){
    myservo.write(115);
    }
  if (currentMillis > 10500) {
    myservo.write(straight);
  }
}
const int startupDelay = 15000;
void setup() {
  delay(startupDelay);
  //other setup
}
if (currentMillis >= 10000 && currentMillis <= 10500){

This statement can never be true, as millis() will be greater than 15000 when the code gets to this point.

Throughout this time period which it is turning

It is not going to take long for it to move from 95 to 115 and in any case how will you know that it has reached 115 ?