This is not the correct way to test if currentTime is between two values:

else if ( 10 <= currentTime < 12.5 || 57.5 <= 60) {

It's parsed as if you'd written:

else if ( ((10 <= currentTime) < 12.5) || (57.5 <= 60)) {

Since 57.5 is always less than 60, the entire expression will always be true. But 10 <= currentTime < 12.5 is also always true, because 10 <= currentTime is either true or false, and they're converted to 1 or 0 when comparing with another number. And both 1 and 0 are less than 12.5.