el problema son las comparaciones de las horas. fijate que no estas teniendo en cuenta los minutos de modo que, por ejemplo
realmente significa, desde las 1am hasta las 2:59:59am, porque estas indicando
mientras sea las 1 madrugada (fijate el comparado menor o igual que). supongo que en realidad quisistes decir
de 1am hasta 2am. en ese caso, para que lo puedas entender, el codigo se pudo haber escrito de esta forma.
Código:
hora >= 1 && hora < 2
// la version mas corta y que significa lo mismo que lo anterior;
hora == 1
;
fijate la segunda version, dice
mientras sea la 1am, al no comparar los minutos entonces podra ser las 1:59:59 y todavia se considera las 1am.
¿donde realmente esta el conflicto?
Código:
else if (hora >= 1 && hora <= 2 && dia > 0 && dia < 6) {
document.write('<img src="autosesiones.jpg">');
}
else if (hora >= 2 && hora <= 15 && dia > 0 && dia < 6) {
document.write('<img src="masterlive.jpg">');
}
fijate que la primera condicion compara 1am hasta 2:59:59am, y la segnda condicion desde 2am hasta 15:59:59pm. al la primera ser cierta, la segunda condicion no llega a evaluarse porque en la primera en realidad no estas diciendo hasta las 2:00:00 sino hasta las 2:59:59.
de forma similar las tres condiciones tienen ese problema de logistica. por otro lado, un detalle extra. si una condicion va ser para todos los dias de la semana, no hace falta comparar si la fecha esta en ese rango. o sea,
dia > 0 && dia < 6 esta totalmente de mas.